Fehler beim ausgeben eines Spalteninhaltes

ronaldo84

Erfahrenes Mitglied
Hallo

Ich habe einen rs und habe diesen nun mit Werten aus einer Sql Tabelle gefühlt.
Ich möchte das diese Werte dann in einer MsgBox ausgegeben werden.
Code:
 Dim rst As ADODB.Recordset
Set rst = New ADODB.Recordset
 
	On Error GoTo ExportError
 
With rst
	 .ActiveConnection = CurrentProject.Connection
	 .CursorLocation = adUseClient
	 .CursorType = adOpenDynamic
	 .LockType = adLockOptimistic
	End With
 
 
		rst.Open "SELECT * FROM anpassen where name like " & Form.name & ";"
		MsgBox (rst.Fields("name").Value)

Nun kommt aber immer die Fhelermeldung das mindestens für einen erforderlichen Parameter kein Wert angegeben wurde. Habe ich da jetzt einen Denkfehler drin?
Würde mich über hilfe freuen.
Danke
 
ne kein denkfehler dir fehlt nur ein ' bzw 2



"SELECT * FROM anpassen where name like' " & Form.name & " ' ;"


gruss bb
 
Danke das war es. Habe aber nun leider noch ein Problem. Weiß aber nicht ob es eher ins SQL Forum gehört.

Habe da nun also diesen rs und wenn die Fields höhe und breite leer (0) sind soll man sie anpassen können. Das klappt auch. aber die Werte sollen dann in eine Tabelle geschrieben werden. Dabei kommt aber immer der Fehler: Fehler in Insert Syntax.
Hier ist der Code
Code:
 sql = "insert into anpassen values '" & Form.name & "','" & hoehe & "','" & breite & "';"
rst.Open "SELECT * FROM anpassen where name like '" & Form.name & "';"
If rst.Fields("hoehe") = "0" And rst.Fields("breite") = 0 Then
	 antwort = MsgBox("Das Formular wurde noch nicht angepasst. Anpassen?", vbYesNo)
	 If antwort = vbYes Then
			 hoehe = InputBox("Bitte Höhe eingeben")
			 breite = InputBox("Bitte Breite eingeben")
			 DoCmd.RunSQL sql

Wollte es eigentlich zuerst mit Update machen. Da kam aber der gleiche Fehler. Kann man mit Update nur die Spaltennamen ändern? Hoffe jmd kann mir weiterhelfen.
 
das liegt vieleicht daran, dass die Werte für Höhe und Breite currency das heisst die werden intern im format " 425, 00" gespeichert wegen dem Deutschen Zahlenformat für den SQL müsste der Krempel allerdings statt einem , ein . sein also im format " 425.00" um dieses Problem zu beheben musst du für Currency Werte folgende Replace ausführen
Dim Wert as string
Wert = Hoehe
wert = replace (wert,".","",0,0)
wert = replace (wert,",",",",0,0)
1. die Punkte "." durch nix ersetzten und dann die Kommas durch Punkte damit es den amerikanischen Zahlenformaten entspricht

Gruss bb
 
Hallo Ronaldo,

noch ne Anmerkung zu deinem Connectionstring.

du verwendest
.CursorLocation = adUseClient
.CursorType = adOpenDynamic

lass dir mal den Cursortype ausgeben und du wirst sehen
das es nicht adOpenDynamic ist. Das geht nämlich
bei einem Clientseitigen Cursor nicht.
Eine Fehlermeldung gibt es aber auch nicht denn
ADO wandelt das intern von selbst um.

Gruß
Jens
 
Zurück