VB Problem mit Datenbankabfrage

Diskutiere VB Problem mit Datenbankabfrage im Developer Network Forum im Bereich Hardware & Software Forum; Hallo! Ich bin gerade etwas am VB Programmieren und komme nicht weiter. Ich mache Zugriffe mit DAO auf eine Access Datenbank. Diese hat den...
  • VB Problem mit Datenbankabfrage Beitrag #1
Sir Gonzo

Sir Gonzo

Bekanntes Mitglied
Dabei seit
23.10.2000
Beiträge
164
Reaktionspunkte
0
Hallo!

Ich bin gerade etwas am VB Programmieren und komme nicht weiter. Ich mache Zugriffe mit DAO auf eine Access Datenbank. Diese hat den Autowert "id".
Nun muß ich auf einen bestimmten Datensatz zugreifen. Bisher habe ich es mit LIKE in der SQL Anweisung gelöst (siehe unten), was aber zu fehlern führt. z.B. wenn Satz 7 in der FlexGrid gewählt wird, erhalte ich Satz 79 aus der Datenbank. Ist ja auch logisch, wenn dieser vor Satz 7 gelesen wird. Nun möchte ich also das LIKE raus haben und mit "=" oder EQUALS ersetzen. Das funktioniert leider nicht. Ich erhalte die Fehlermeldung "Datentypen in Kriterienausdruck unverträglich". Ich habe schon alles mögliche ausprobiert, es hat leider nichts funktioniert. :(
Kann mir vielleicht jemand auf die Sprünge helfen?

Sir Gonzo

Hier die Codezeile die ich bisher verwendet habe:

Set datensatz = datenbank.OpenRecordset("SELECT * FROM Störung WHERE id LIKE + ('" + akt_id + "*')", dbOpenDynaset)

akt_id ist die Zeile aus der Flexgrid als String.
 
  • VB Problem mit Datenbankabfrage Beitrag #2
O

O Love

Bekanntes Mitglied
Dabei seit
08.04.1999
Beiträge
2.286
Reaktionspunkte
0
Nun, schau doch mal genau nach, wie Du die Query gebastelt hast.
Code:
SELECT * FROM Störung WHERE id=akt_id
Das wäre korrekt, wenn id und akt_id gleichen Typs sind. Eventuell mußt Du akt_id noch umwandeln...

O Love
 
  • VB Problem mit Datenbankabfrage Beitrag #3
Sir Gonzo

Sir Gonzo

Bekanntes Mitglied
Dabei seit
23.10.2000
Beiträge
164
Reaktionspunkte
0
Hat leider nicht funktioniert. Weder als String noch als Integer. Wenn ich es so mache, wie du geschrieben hast, erhalte ich die Fehlermeldung "1 Parameter wurde erwartet, aber es wurden zuwenig Parameter übergeben". :confused:
 
  • VB Problem mit Datenbankabfrage Beitrag #4
O

O Love

Bekanntes Mitglied
Dabei seit
08.04.1999
Beiträge
2.286
Reaktionspunkte
0
Wie gesagt, ich kenne den Aufbau Deiner DB nicht. Ich nehme mal an, daß ID ein Integer ist, da dieser als AutoInc angegeben wurde. Dann mußt Du die SQL-Query so erzeugen, daß als Zeichenfolge 'where id=7' (Beispiel) drinsteht . Auf keinen Fall sollte 'where id="7"' dastehen.

Ich kenne VB nicht, deshalb kann ich Dir den genauen Code nicht geben...

O Love
 
  • VB Problem mit Datenbankabfrage Beitrag #5
T

TT

Bekanntes Mitglied
Dabei seit
19.07.1999
Beiträge
3.789
Reaktionspunkte
0
Ort
einer anderen Welt
Hat act_id das richtige Format? Da Du eigentlich an die Abfrage einen String übergibst muß act_id auch ein String sein (ACHTUNG: Der Inhalt von act_id MUSS ein String sein!).
D.h.:
act_id = "7"

und der SQL-Select ist dann folgendermaßen aufzubauen:

strSQL = "SELECT * FROM Störung WHERE id=" & akt_id

TT
 
  • VB Problem mit Datenbankabfrage Beitrag #6
Chrisu

Chrisu

Bekanntes Mitglied
Dabei seit
30.11.1999
Beiträge
1.364
Reaktionspunkte
0
Ort
EnterpriZe Elite
so isses - es ging bei dir nicht weil du im sql-string die Variable mit ' ' übergeben hast - dann wird ein string erwartet - autowert ist aber eine zahl und deshalb läßt du die einfachen Anführungszeichen weg dann klappts ...

der sql-string vom TT würde meines Erachtens nicht funktionieren wenn akt_id ein String ist, da dann die Anführungszeichen wiederum fehlen - es reicht nicht die Variable als String zu definieren, sie muß auch im sql als solche gekennzeichnet werden

der sql-string, wenn akt_id ein string ist:

"SELECT * FROM Störung WHERE id='" & akt_id & "'" ->> das letzte hier ist ein " gefolgt von einem ' und wieder ein " - zur Verdeutlichung schreib ich nochmal den WHERE-Abschnitt rein und mache dazwischen Leerzeichen: ... WHERE ID = ' " & akt_id & " ' "

der sql-string, wenn akt_id vom Typ long ist:
"SELECT * FROM Störung WHERE id=" & akt_id
 
  • VB Problem mit Datenbankabfrage Beitrag #7
Sir Gonzo

Sir Gonzo

Bekanntes Mitglied
Dabei seit
23.10.2000
Beiträge
164
Reaktionspunkte
0
Es funktioniert!!!! :lol:

Ich danke euch. Mit den Hochkomma, Anführungszeichen und Klammern bin ich ganz schön durcheinander gekommen. Die richtige Lösung war mir anscheinend zu einfach, daß ich sie gar nicht probiert habe....:rolleyes:
 
Thema:

VB Problem mit Datenbankabfrage

ANGEBOTE & SPONSOREN

https://www.mofapower.de/

Statistik des Forums

Themen
213.180
Beiträge
1.579.174
Mitglieder
55.879
Neuestes Mitglied
stonetreck
Oben