If, then else med update og insert samt loop
Jeg har bøvlet noget med at få nedenstående til at virke.Jeg importerer 3 filer fra min håndscanner ind i ACCESS i tabellerne S_VARER, S_LOKATIONER, S_STREGKODER. posterne i disse skal så holdes op imod en eksisterende forespørgelse LOKATION_FS.
Lad os f.eks tage S_VARER.
Hvis LAGERNUMMER og LOKATION er ens i S_VARER og LOKATION_FS så skal den eksisterende post opdateres. Hvis ikke, så skal posten indsættes i tabellen T_VARERFEJL.
Det samme gælder nogenlunde for de to andre, dog med visse forskelle, men hvis nogen kan guide mig i den rigtige retning med den ene, så finder jeg nok selv ud af resten.
Foreløbig har jeg følgende, hvor UPDATE og INSERT virker alene uden If sætningen. Kan nogen hjælpe?:
If vbYes = MsgBox("OPDATER FRA TERMINALEN?", vbCritical + vbYesNo, "OPDATER") Then
Dim db As Recordset
Set rs = CurrentDb.OpenRecordset("S_VARER")
rs.MoveFirst
Do Until rs.EOF
If S_VARER.LAGERNUMMER = LOKATION_FS.LAGERNUMMER Then
CurrentDb.Execute ("UPDATE LOKATION_FS INNER JOIN S_VARER ON (LOKATION_FS.LOKATION = S_VARER.LOKATION) SET LOKATION_FS.BEHOLDNING = LOKATION_FS.BEHOLDNING+S_VARER.ANTAL")
Else
CurrentDb.Execute ("INSERT INTO T_VARERFEJL (LAGERNUMMER, TILLOKATION, ANTAL, NOTE) SELECT LAGERNUMMER, LOKATION AS TILLOKATION, ANTAL, NOTE FROM S_VARER")
End If
rs.MoveNext
Loop
rs.Close
Set rs = Nothing
MsgBox "Opdatering foretaget. Husk at der kan være VARERFEJL der skal behandles!"
Else
MsgBox "Opdatering afbrudt!"
End If
