05. februar 2005 - 14:32Der er
16 kommentarer og 2 løsninger
Sikre overensstemmelse mellem 2 poster
Opgaven lyder: Der skal indtastes 2 ligelydende poster af 2 forskellige personer (A og B) for at sikre at indtastningen er korrekt.
De 2 ligelydende poster har et fælles IDnr. Der bliver ret mange felter pr post (100-150)
A og B må ikke kunne se hinandens indtastninger under selve indtastningen.
Den der sidst indtaster skal på en eller anden måde have at vide, at indtastningen ikke stemmer overens med den andens indtastning, eller supervisoren skal kunne se, at der ikke er overensstemmelse mellem de 2 poster.
If you want to know if the records are different AFTER you have finished enetering both records then an idea would to make a query where you GROUP on ALL fields
SELECT YourTable.ID, YourTable.f1, YourTable.f2, YourTable.f3 FROM YourTable GROUP BY YourTable.ID, YourTable.f1, YourTable.f2, YourTable.f3
Then you can use (example)
If Dcount("ID", "YourQuery", "ID = 1") > 1 Then 'records are different
-at A og B indtaster på samme formular eller hver sin formular på hver sin PC'er. -at man øjeblikkelig kan se hvilken felt der viser en forskel fra samme felt i den anden post (dette gælder kun for den der sidst indtaster).Feltet kunne måske ændre farve eller noget andet? -posterne kunne godt være på den samme formular, men grundreglen skal være den, at den andens indtastninger ikke kan ses før posten er indtastet (altså man må ikke kunne komme til at indtaste den andens indtastninger).
Lets imagine that user 1 has entered data in a form on their won PC. This record has an ID (primary key). Now user 2 has to enter data into a form on their PC. Somehow we need to be able to select which ID we wan to enter control data for, any ideas?
terry De 2 ligelydende poster har samme ID. I hver af de 2 poster vil man skulle se hvem der har indtastet posten. De 2 poster skal ligge i samme tabel på en server. Indtastningen vil sandsynligvis ske fra 2 forskellige PC'er.
But record two doesnt exist until user 2 starts entering the record, or have I misunderstood something? User 2 needs to know which ID he/she is to enter data for so that the two records can be compared
Jeg ville bruge denne funktion til at sammenligne de 2 tabeller. Den sammeligner samtlige felter - felt for felt:
Public Function RecordCompare(ID As Long) As Boolean Dim rs1 As New ADODB.Recordset Dim rs2 As New ADODB.Recordset Dim cn As ADODB.Connection Dim n As Integer Set cn = CurrentProject.Connection rs1.Open "Select * From Tabel1 Where Medlemsnr = " & ID, cn, adOpenStatic rs2.Open "Select * From tabel2 Where Medlemsnr = " & ID, cn, adOpenStatic For n = 0 To rs1.Fields.Count - 1 If rs1(n) <> rs2(n) Then RecordCompare = True Exit Function End If Next n rs1.Close rs2.Close Set rs1 = Nothing Set rs2 = Nothing cn.Close Set cn = Nothing End Function
Herefter lægges denne kode på et strategisk sted: If RecordCompare(Me!ID) = True then msgbox "Der er fejl!"
If you still need help on this question then place a comment here, or you are also welcome to contact me at eksperten@NOSPAMsanthell.dk remove NOSPAM
og tak
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.