msaccess-vcs-addin
msaccess-vcs-addin copied to clipboard
Export roundtrip adds noise
Plugin version 4.0.34.
These were my basic steps:
- Take my .mdb and do a full export.
- Use
Build As...to build a new .mdb from the export in step 1. - Do a full export of the .mdb from step 2.
- Compare the exports from step 1 and step 3.
All the steps were performed on the same computer and the same installation of Access 365. Although it's possible they weren't the exact same Access version due to auto updates in the couple of months which passed between the steps.
I would expect the export folders from 1 and 3 to be identical. However there are hundreds of changed files. The good news is that there are only a handful of kinds of difference.
- In
forms/*.bas, many controls have addedBorderLineStyle = 0. For example:
Begin TextBox
FELineBreak = NotDefault
SpecialEffect =2
OldBorderStyle =0
+ BorderLineStyle =0
Width =1701
LabelX =-1701
FontName ="Tahoma"
End
- In
forms/*.bas, a few forms have addedOrderByOn = NotDefault. For example:
Version =19
VersionRequired =19
Begin Form
+ OrderByOn = NotDefault
PictureAlignment =2
DatasheetGridlinesBehavior =3
GridY =10
[...]
-
In several
.clsfiles,Now()has been replaced withnow(). -
About 5% of
queries/*.sqlhave whitespace changes in JOIN clauses:
SELECT
Qstatus.SubjID,
Qstatus.Qid,
Qstatus.Qstatus,
AnsNumeric.Ans
FROM
QsFullCurrent
INNER JOIN (
Qstatus
- INNER JOIN AnsNumeric ON (Qstatus.Qid = AnsNumeric.Qid)
- AND (
- Qstatus.SubjID = AnsNumeric.SubjID
- )
+ INNER JOIN AnsNumeric ON (
+ Qstatus.SubjID = AnsNumeric.SubjID
+ )
+ AND (Qstatus.Qid = AnsNumeric.Qid)
) ON QsFullCurrent.Qid = Qstatus.Qid
WHERE
Qstatus.Qstatus = 0
AND IsNull(AnsNumeric.Ans)
AND QsFullCurrent.IsCurrent;
- About 5% of
queries/*.sqlhave lost a couple of lines at the end concerning 'dbText Name' which I don't yet know the meaning of:
dbMemo "SQL" ="SELECT ThreadQids.ThreadFgnID, ThreadQids.QFgnID, [Qids+FullOrder+Text].Qtext, T"
"hreadQids.IsAdded, QnumStrForLog(ThreadQids.QFgnID) AS QNumStr\015\012FROM [Qids"
"+FullOrder+Text] RIGHT JOIN ThreadQids ON [Qids+FullOrder+Text].Qid=ThreadQids.Q"
"FgnID\015\012WHERE IsCurrent\015\012ORDER BY [SectOrder], [SubSectOrder], [Qorde"
"r];\015\012"
dbMemo "Connect" =""
dbBoolean "ReturnsRecords" ="-1"
dbInteger "ODBCTimeout" ="60"
dbBoolean "OrderByOn" ="0"
dbByte "Orientation" ="0"
dbByte "RecordsetType" ="0"
dbText "Description" ="Threads Logger: used by subform frm_QsOfThread"
Begin
- Begin
- dbText "Name" ="QNumStr"
- End
End
I suspect that these changes don't alter the behaviour in any way, but in my current job it's crucial that the behaviour of the database stays exactly the same. I can try to verify that this is the case for each of the changes but it's prohibitive if this kind of churn could happen in future every time I make an actual change.
Any tips?