Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Mit den Daten einer Abfrage Daten einer Tabelle editieren

Begonnen von Bernie110, September 17, 2014, 15:14:01

⏪ vorheriges - nächstes ⏩

Bernie110

Hallo,

Ich hab folgendes :

Tbl   : LTW_MA_Tabelle
Felder:LTW_ID[Autowert],Storno[ja/nein],Doppelt[Zahl], LTW[Text]
Tbl   : LTW_IMPORT_Tabelle
Felder: LfdNr[Autowert], LTW[Text]

Abfrage : qyr_LTW_CHECK_Doppelt
Diese Abfrage setzt sich aus beiden o.g Tabellen zusammen. Dabei werden die beiden Tbl mit folgenden Kriterien gefiltert :
LTW_MA_Tabelle.LTW = LTW_IMPORT_Tabelle.LTW
und Storno = falsch
Ansichtsfelder : [LTW_ID] [LfdNr] [LTW]

So und nun möchte ich in der Tabelle LTW_MA_Tabelle
Alle Datensätze die das Kriterium : LTW_MA_Tabelle.LTW_ID =  qyr_LTW_CHECK_Doppelt .LTW_ID
erfüllen, wie folgt editiert werden.
Storno = True
Doppelt = 1

Ich habs so versucht. Er macht aber nur den ersten und keinen weiteren :

ZitatPublic Sub DOPPELT_CHECK_STORNO()
Dim rs1 As DAO.Recordset, rs2 As DAO.Recordset, db As Database, I As Integer
Dim FilterREANSP As String
Set db = CurrentDb

Set rs1 = db.OpenRecordset("Select * from qyr_LTW_CHECK_Doppelt ", dbOpenSnapshot)

Set rs2 = db.OpenRecordset("Select * from LTW_MA_Tabelle where LTW_ID =" & rs1!LTW_ID, dbOpenDynaset)


Do Until rs1.EOF

For I = 1 To 1
'------------------------------------------------------------------------------------------------------------------------------------
rs2.Edit
If rs2!LTW_ID = rs1!LTW_ID Then
rs2!Storno = True
rs2!Doppelt = 1
End If

'----------------------------------------------------------------------------------------------------
rs2.Update

Next

rs1.MoveNext
Loop


rs2.Close: Set rs2 = Nothing
rs1.Close: Set rs1 = Nothing
Set db = Nothing

' **********************************************************************************************************
End Sub

Wie würdet Ihr das machen ?
Vielen Dank für eure Antworten.
Lg Bernie

MaggieMay

Hallo,

versuche es mal mit folgender Abfrage:Update LTW_MA_Tabelle SET Storno = True, Doppelt = 1
Where LTW_ID IN (Select LTW_ID From qyr_LTW_CHECK_Doppelt)
Freundliche Grüße
MaggieMay

Bernie110

Hallo Maggie,

perfekt ! Coole Lösung.
Herzlichen Dank
Lg Bernie