Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: silentwolf am August 02, 2015, 12:35:11

Titel: SQL Abfrage Statements in VBA verwenden
Beitrag von: silentwolf am August 02, 2015, 12:35:11
Hallo
ich bin schon ewig beim probieren und bekomme es einfach nicht hin!
Möchte in access Daten Aktualisieren und in eine neue Spalte einfügen.
Sub AktionUPC()
    Dim rs As Recordset
    Dim strSQL As String
    Dim Anzahl As Integer
   
        strSQL = "UPDATE tbl_Daten SET tbl_Daten.Gegenkonto = "7385" " _
                "WHERE (((tbl_Daten.Umsatztext) Like "Upc*") AND ((tbl_Daten.Buchungstext)="lastschrift"));
           
End Sub


das funktioniert aber nicht da ich einfach zu wenig verstehe wo die Hochkommata und dergleichen hin müssen.
Da ich einige von diesen Abfragen erstellen muss hoffe ich das mir jemand hier behilflich sein kann?

Bitteschön!!!

Danke
Mfg

Albert
Titel: Re: SQL Abfrage Statements in VBA verwenden
Beitrag von: DF6GL am August 02, 2015, 14:05:40
Hallo,


Sub AktionUPC()
    Dim rs As Recordset   
    Dim strSQL As String
    Dim Anzahl As Integer
   
        strSQL = "UPDATE tbl_Daten SET tbl_Daten.Gegenkonto = '7385' "  & _
         "WHERE tbl_Daten.Umsatztext Like 'Upc*' AND tbl_Daten.Buchungstext='lastschrift'"

Currentdb.Execute strSQL, dbFailOnError
           
End Sub


Vorausgesetzt,
---"Gegenkonto" ist ein Tabellenfeld vom Datentyp TEXT. (Was dann aber vermutlich falsch gewählt ist, wenn die Kontonummer aus nur Ziffern besteht.)

--- die Aktualisierung nur dann vorgenommen wird, wenn am Anfang des Feldinhaltes von  "Umsatztext"  die Zeichen "Upc" vorkommen
und wenn der Inhalt von "Buchungstext" genau "Lastschrift" (ohne Rücksicht auf Groß/Kleinschreibung) entspricht.
---
Titel: Re: SQL Abfrage Statements in VBA verwenden
Beitrag von: silentwolf am August 02, 2015, 14:52:16
Hallo Franz,
erstmal vielen Dank für Deine Antwort!!
Ja ich habe momentan das Gegenkonto als Text gespeichert. Also falsch und sollte ich ändern oder?
Es kommen aber auch Gegenkonto wie 0160 oder dergleichen das würde ja mit einer Zahl dann nicht funktionieren oder??
Eigentlich bin ich mir ja noch nicht ganz sicher wie ich das ganze anstellen soll oder muss.
Ich versuche Daten aufzubereiten die eben noch kein Gegenkonto besitzen.
Diese upgedatete Liste soll dann als eigene Tabelle gespeichert sein. Wenn ich wieder neue Datensätze bekomme dann sollte diese in der Tabelle mit Gegenkonto "nachschauen und mir dann die Daten aktualisieren"
Na ja wie auch immer ... ich werd mal probieren :)

Schöne Grüße!

Albert
Titel: Re: SQL Abfrage Statements in VBA verwenden
Beitrag von: DF6GL am August 02, 2015, 15:52:15
Hallo,

"Es kommen aber auch Gegenkonto wie 0160 vor "


wenn das so ist, dann bleibt bei TEXT  (und benutze die umschließenden Hochkommata), weil es "führende Nullen" bei einer (mathematischen) Zahl, bzw. bei Datentyp Zahl,  nicht gibt...
Titel: Re: SQL Abfrage Statements in VBA verwenden
Beitrag von: silentwolf am August 03, 2015, 05:49:34
Danke für Die Info!
Hat mir sehr geholfen!

Schöne Grüße!