Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" 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