PDA

Vollständige Version anzeigen : Varable Aktualisierungsabfrage


maba
26.04.2001, 16:20
hy Leuts neuer Tag neues Problem...
Ok..ich kann mit dem unten angezeigten Code meine Abfrage Variabel halten!
Allerdings ist diese mir noch etwas zu Steif was Parameter (sPara2) angeht. Dieser tut die Abfrage einschränken in dem ich ein Stichwort (z.B Eimer) eingebe dieser Sucht dan wie folgt nach (Wie "Eimer*")
ich möchte aber das mein sPara2 nach (Wie "*Eimer*") sucht.

Wie kann ich das realisieren.

CurrentDb.Execute _
"UPDATE tst_Tab SET tst_tab.Spalte1 = '" & sPara1 & "' " & _
"WHERE tst_Tab.Spalte2 Like '" & sPara2 & "*'"

gruß Maba

Alexander Jan Peters
26.04.2001, 16:58
Hallo,

fehlt doch nur ein Sternchen vor dem 2.Parameter

CurrentDb.Execute _
"UPDATE tst_Tab SET tst_tab.Spalte1 = '" & sPara1 & "' " & _
"WHERE tst_Tab.Spalte2 Like '*" & sPara2 & "*'"

Versuch es doch mit einem QueryDef, wie hier: Suchen eines Datensatzes in einem Bereich (http://www.ms-office-forum.net/forum/showthread.php?s=&threadid=43549&highlight=tblPostleitzahlen)

MfG

A.J.Peters

maba
27.04.2001, 08:31
thank´s für den Code! Ich möchte die Abfrage aber relativ einfach lassen!
Das mit dem Sternchen weis ich nur wo wird die Zeichenkette gesetz sprich ("" '') wievele von den nervigen Anführungsstrichen brauche ich und wo genau?

Alexander Jan Peters
27.04.2001, 10:14
Versteh ich nicht ganz, was ist der große Unterschied (vom Programmieraufwand) zwischen Database/Execute und einem QueryDef/Execute?

Private Sub Button1_Click ()
Dim db As Database
Dim qdf As QueryDef
Dim strSQL As String
Dim strPara1 As String
Dim strPara2 As String

strPara1 = Me.txtParameter1
strPara2 = "*" & Me.txtParameter2 & "*"


'Zusammenbau des SQL-Strings
strSQL = "UPDATE tst_Tab SET tst_tab.Spalte1 = '" & strPara1 & "' " & "WHERE tst_Tab.Spalte2 Like '" & strPara2 & "'"

'Deine Variante
'db.Execute strSQL

'Meine Variante
Set qdf = db.CreateQueryDef("";strSQL)
'Hier besteht aber auch die Möglichkeit eine fest angelegte Aktualisierungabfrage zu verwenden (schneller)
'Set qdf = db.OpenQueryDef("qryAktualisierung")
'qdf![Para1] = Me.txtParameter1
'qdf!Para2] = "*" & Me.txtParameter2 & "*"
qdf.Execute
End Sub


Ach so, zur Zahl der Anführungsstriche, der SQL-String wird von Anführungsstrichen begrenzt "..." und Du willst Deine Werte dazwischen schieben, also trennst Du ihn:
"..." & [Variable] & "..."


Ich hoffe, das war verständlich

MfG

A.J. Peters

maba
27.04.2001, 10:38
ES lebt!!!!!

*gg*

THANK´S HABS HINBEKOMMEN!