Forums Neueste Beiträge
 

Beliebigen Wert per VBA in ein Tabellenfeld schreiben

24/02/2011 - 12:40 von Patrick Pohlmann | Report spam
Hallo Zusammen,

Ich habe eine Tabelle mit folgenden Feldern:
WertName (PS,varchar(50), Nicht NULL)
Wert (varchar(8000), Nicht NULL)
UserID (varchar(50), Nicht NULL)

In diese Tabelle möchte ich per SQL String Datensàtze schreiben. Dazu habe
ich folgende VBA Funktion:

Function GlobaleVariableSetzen(Wertname As String, Wert As String, Optional
strUserID As String)

If strUserID = "" Then
strUserID = AktuellerBenutzer
End If

strSQL = "Insert Into GlobaleVariable (Wertname, Wert, UserID) Values('" &
Wertname & "', " & Wert & ", '" & strUserID & "')"

Set cnn = CurrentProject.Connection
cnn.Execute strSQL
cnn.Close
End Function

Leider macht "Wert" immer wieder Probleme wenn darin ein Punkt (.) oder ein
Komma (,) vorkommen. Manchmal hilft es, wenn ich dann im String noch ein
Hochkomme vor und hinter dem Wert einsetze, manchmal auch wieder nicht.

Kann mir jemand einen Trick verraten wie ich sicherstellen kann, dass ich
mit einer Funktion wirklich jede Zeichenfolge in die Tabelle schreiben kann.

Vielen Dank für Eure Hilfe

Viele Grüße

Patrick
 

Lesen sie die antworten

#1 Karl Donaubauer
24/02/2011 - 13:28 | Warnen spam
Patrick Pohlmann wrote:
Ich habe eine Tabelle mit folgenden Feldern:
WertName (PS,varchar(50), Nicht NULL)
Wert (varchar(8000), Nicht NULL)
UserID (varchar(50), Nicht NULL)

In diese Tabelle möchte ich per SQL String Datensàtze schreiben. Dazu
habe ich folgende VBA Funktion:

Function GlobaleVariableSetzen(Wertname As String, Wert As String,
Optional strUserID As String)

If strUserID = "" Then
strUserID = AktuellerBenutzer
End If

strSQL = "Insert Into GlobaleVariable (Wertname, Wert, UserID)
Values('" & Wertname & "', " & Wert & ", '" & strUserID & "')"

Set cnn = CurrentProject.Connection
cnn.Execute strSQL
cnn.Close
End Function

Leider macht "Wert" immer wieder Probleme wenn darin ein Punkt (.)
oder ein Komma (,) vorkommen. Manchmal hilft es, wenn ich dann im
String noch ein Hochkomme vor und hinter dem Wert einsetze, manchmal
auch wieder nicht. ...



Du musst bei Wert das gleiche machen wie bei Wertname, also
Hochkomma drumherum, damit er immer als Text in das (eh Text-) Feld
geschickt wird. Wenn auch Hochkommas im Wert vorkommen können,
dann musst du sie verdoppeln.

Servus
Karl
*********
Access-FAQ: http://www.donkarl.com

Ähnliche fragen