17. august 2005 - 09:17Der er
36 kommentarer og 2 løsninger
compare recordset!
hej til alle.
Jeg har en recordset som har et index på 4 sammensatte nøgler. Jeg har så en masse andre recordset som er identiske. jeg vil nu gerne lave en funktion som skal tjekke om de samme felter findes i dem alle i tilfælde de ikke gøre skal de tilføjes. er der nogen af jer der kender en lille funktion som kan gøre det her nemmere?
Du skulle samle de 4 index'er i en ny kolonne, så står de jo som et samlet index og så er det nemt at finde dubletter, søge i osv. Du kan sagtens oprette et nyt felt i tabellen og så køre en opdateringsforespørgsel, som samler de fire index'er i dette felt.
I din formular kan du så skjule dit nye felt og samle de 4 index ved fremtidige indtastninger af de forskellige index!~)
Alle datane ligger i samme tabel, med et index på 4, som adskiller dem samt de resultater som forligger. jeg har i alt 8 set som indholder fra 12 - 20. jeg vil gerne have at de alle indholder samme indexes og de steder
Hvis dine 4 felter er en sammensat nøgle eller et indeks, der ikke tillader dubletter, kan du bare tilføje alle de poster du vil - Hvis der er dubletter vil Access IKKE tillade de tilføjes tabellen.
I kode kan do undgå at få fejlmeddelelsen ved: docmd.setwarnings false
hmm... jeg har noget kode som kan klare det ! men jeg har også et problem ved den:
rms.MoveFirst rms1.MoveFirst Do Until rms1.EOF If ((rms1.Fields!BIl <> rms.Fields!BIl) And (rms.Fields!Person <> rms1.Fields!Person)) Then AddNew rms.Fields!BIl = rms1.Fields!BIl rms.Fields!Person = rms1.Fields!Person rms.Update End If rms.MoveNext rms1.MoveNext Loop
problemmet er hvis rms ikke eksistere på et tidspunkt i min løkke ! så melder den fejl.
are you trying to create a new table which only contains ONE copy of each of the records in the original table? If so, make sure that the fields you have as the compound key are also unique and then as Niels states only one record will get copied over when you INSERT them!
fordi min problem kommer af at rms løber tør og når den gøre det så skal den hoppe ind i : AddNew rms.Fields!BIl = rms1.Fields!BIl rms.Fields!Person = rms1.Fields!Person rms.Update End If rms.MoveNext rms1.MoveNext Loop
yuksel>If you want us to help then we need an explanationof the problem in detail. If you try making solutions yourself WITHOUT giving us more information then you are on your own!
The code you show here 17/08-2005 13:56:46 is code which you have made to try and solve another problem, and it is THIS problem we are interested in. So if you STOP UP for a while and describe what you are attempting to do and we will try and help with that NOT the problem you have in the code you have made!
Er det ikke nemmere bare at køre en insert forespørgsel, som tilføjer de rows som kun findes i den tabel der sammenlignes med, sådan ca. sådan her?
currentdb.Execute "INSERT INTO TotalTabel (BI, Person) SELECT FROM DelTabel1 dt WHERE NOT EXISTS (SELECT * FROM TotalTabel WHERE BI=dt.BI AND Person=dt.Person)"
terry--> Yeah, he has been kind of quiet for some time now, hasn't he? :-) But maybe, just maybe, this will sound his alarms and he will react. Anyway, you're right, it is kind of difficult to assess exactly what it is he wants done from his explanations. I'm pretty sure, though, that my code does what he wants done. Gut feeling, you know! :-)
terry--> You're right. Far too many questions remain open, because the guy posing the question leaves before the problem is resolved. That's kind of hard to accept if you invest time and resources trying to help the guy. In this case, I've not been involved with the question until now, so I've not been feeling let down, but I can certainly appreciate your feeling of lack of response from yuksel. At the same time, though, I have to say that your tough attitude as displayed in your messages at 13:57:21 and 14:00:37 may have scared him away. Not everyone reacts well to that kind of tirade.
Ahh, yes, I can see from where you display of grumpiness stems! :-) Yet, as difficult as it might be, I think such display of temper is counterproductive.
hmmmm..... sorry for vente tiden guys,,,, der har været nogle små ting......
har i mellem tiden løst min problem, måske lidt anderledes men løst :). Jeres input har været til gavn . derfor må gerne indlægge svar :) takker endu gang
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.