Avatar billede sf Nybegynder
12. april 2004 - 22:13 Der er 9 kommentarer og
1 løsning

søg og erstat i en tabel i forhold til en anden tabel

hej

jeg har en tabel med en masse data og en anden tabel med en masse data der er forkerte (som er trukket ud af den første tabel) og hvad det skal rettes til står udfor hvad der er forkert
hvordan får jeg lavet en makro der løber alle dataene i gennem og tester om der er nogle af de forkerte og hvis der bytter dem ud med hvad der er rigtigt?
Avatar billede mugs Novice
12. april 2004 - 22:16 #1
Jeg forstår ikke dit spørgsmål 100%. Men prøv at se lidt på forrspørgselsguiderne.
Avatar billede geisiqve Nybegynder
12. april 2004 - 23:15 #2
hei
Jeg forstår heller ikke helgt dit spørsmål. Men jeg ville brukt en oppdatering spørring med kreterier for hva som skal oppdateres til hva.

Hilsen Geir
Avatar billede hekla Nybegynder
12. april 2004 - 23:28 #3
Du skal lave en opdateringsforespørgsel. Hvis ID i begge tabeller er ens, skal den være noget a la:

UPDATE [MinTabel2] Set MitForkerteFelt = [MinTabel1]![MitFeltMedRigtigeData]
Avatar billede hekla Nybegynder
12. april 2004 - 23:29 #4
Sorry, det skulle være:

UPDATE [MinTabel2] Set MitForkerteFelt = [MinTabel1]![MitFeltMedRigtigeData] Where (ID = [MinTabel1]![ID])
12. april 2004 - 23:43 #5
Jeg vil også give de herre ret i, at du skal bruge en opdateringsforespørsel.

SQL'en skal dog nok se ud a la dette:
UPDATE TabelForkert INNER JOIN TabelRigtig ON TabelForkert.ID= TabelRigtig.ID SET TabelForkert.Felt1 = [TabelRigtig].[Felt1], TabelForkert.Felt2 = [TabelRigtig].[Fel2], TabelForkert.Felt3 = [TabelRigtig].[Felt3]

/Thomas
Avatar billede sf Nybegynder
13. april 2004 - 01:18 #6
hmm har ikke helt forstået mit spm det hele skulle opdateres i den første tabel:
fik en løsning som virker noglelunde :

Dim foran, regan As Integer
Dim fork, reg
Dim Dinmatrix, matrixrigtig
Dim i, k


foran = Kombinationsboks6.ListCount
regan = Kombinationsboks8.ListCount
k = 0
igen:
i = 0

'If k = 100 Then
'Exit Function
'End If
While i < regan + 1
fork = Kombinationsboks6.ItemData(i) '.Value '.Text
reg = Kombinationsboks8.ItemData(i)
i = i + 1
Form_Slutkontrol1.Bemærkninger.SetFocus
    If Form_Slutkontrol1.Bemærkninger.Text = fork Then
    Form_Slutkontrol1.Bemærkninger.Text = reg
    End If
 
  'i = 0
Wend

DoCmd.GoToRecord , , acNext
If Not Form_Slutkontrol1.Bemærkninger = "" Then
k = k + 1
GoTo igen:
End If
13. april 2004 - 08:11 #7
okay, sådan kan det måse også gøres...men hvorfor så meget kode, når man kan gøre det med én forespørgsel?

Hvad er der galt med koden?
14. april 2004 - 22:23 #8
sf??
Avatar billede sf Nybegynder
18. april 2004 - 01:18 #9
ved ikke hvad du vil her thomasjepsen..? der er ikke noget galt med koden det er derfor jeg har lagt den ud for jeg mener det er et svar.. som virker
18. april 2004 - 09:49 #10
okay...jeg troede bare, at du stadig havde problemer, siden du ikke havde lukket spm. Du kan jo bare give dig selv point, hvis du ikke kunne bruge nogle af vores svar. På den måde, så ved vi, at du ikke bare har "glemt" spørgsmålet :o)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester