Neuigkeiten:

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

Mobiles Hauptmenü

SQL Abfrage Statements in VBA verwenden

Begonnen von silentwolf, August 02, 2015, 12:35:11

⏪ vorheriges - nächstes ⏩

silentwolf

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

DF6GL

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.
---
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

silentwolf

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

DF6GL

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...
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

silentwolf

Danke für Die Info!
Hat mir sehr geholfen!

Schöne Grüße!