Hej genier Jag rekommenderar dig att istället använda parameterfrågor. Har inte kunnat testa men direkt ur huvudet skall det inte se ut så här DAO3.6 ? Prova detta: Eländes <b>Alltså ska jag lägga en kodsnutt i txtArtnr_change </b> Jag har som sagt gjort det här tidigare, men det var ca 3 år sedan och efter det har jag knappt programmerat alls. Jag har glömt enormt mycket. Då vill jag att du som test lägger till en knapp Det här funkade:Värde från textbox till SQL sträng
Jag har gjort detta förut, men det var uppenbarligen alldeles för länge sen sist.
Jag försöker sätta ihop en SQL sträng.
Ungefär så här:
"SELECT * FROM Tabell WHERE Fält LIKE "text2.text*""
Jag vet att jag måste konkatenera eller vad det heter, för att få in värdet från text2.text.
Men jag kan inte komma ihåg hur
Jag försöker helt enkelt att få datan i en grid att uppdatera sig efter vad jag skriver i text2
Sv: Värde från textbox till SQL sträng
Då slipper du många faror och problem som kan uppstå när du försöker sätta ihop en SQL sträng.
Dim con As ADODB.Connection
Dim cmd As ADODB.Command
Dim rs As ADODB.Recordset
'Upprätta anslutning
Set con = New ADODB.Connection
con.Open "Provider=Microsoft.Jet.OLEDB.4.0;" + vbCrLf + _
"Data Source=D:\My documents\db.mdb"
'Hanter fråga
Set cmd = New ADODB.Command
Set cmd.ActiveConnection = con
cmd.CommandText = "SELECT *" & vbCrLf & _
"FROM Tabell" & vbCrLf & _
"WHERE Fält LIKE ?"
cmd.Parameters.Append cmd.CreateParameter("@Parameter", adVarChar, adParamInput, 20, Text2.Text & "%")
'Öppna recordset
Set rs = New ADODB.Recordset
rs.Open cmd, , adOpenForwardOnly, adLockReadOnly
'Läser recordset
Do Until rs.EOF
rs.MoveNext
Loop
'Stänger recordset och anslutningar
rs.Close
con.Close
Sv:Värde från textbox till SQL sträng
<code>
Private Sub Command1_Click()
Dim txt2Str As String
txt2Str = Text2.Text
SELECT * FROM Tabell WHERE Fält LIKE ' txt2Str & "*" & "'"
End Sub
</code>Sv: Värde från textbox till SQL sträng
Dim strString as String
strString="'" & Text2.Text & "'"
"SELECT * FROM Tabell WHERE Fält LIKE " & strString
Mvh Göran Sv:Värde från textbox till SQL sträng
Jag har ju gjort detta förr, vad 17 är det jag glömmer ?
Jag har en acessdatabas.
Det finns 1 tabell
I tabellen finns ett fält som innehåller artnr.
På mitt Form finns 1 st Datakontroll data1 (har inte fått kläm på ADO ännu)
Det finns en dbgrid och ett par textboxar
Jag vill : att griden ska uppdatera sig efter vad jag skriver i en av textboxarna.
textboxen i fråga innehåller artnr.
Alltså ska jag lägga en kodsnutt i txtArtnr_change
Någon som hänger med på vad jag menar ?Sv: Värde från textbox till SQL sträng
I change kan du inte lägga det.
Skall fundera ett tag.Du skriver några siffror i txtAtrnr.Text och databsen skall uppdateras.
Dbgriden uppdateras sedan via Data1.
Blir konfunderad när du skriver SQL sträng.
Vill du uppdatera eller vill du editera eller vill du söka ?
TextBoxen skall vara kopplade till DataSource Data1 och DataField ArtNrSv:Värde från textbox till SQL sträng
Jag vet att jag använde en sql-sträng i stil med: "SELECT * FROM tabell WHERE fält LIKE'" & txtbox.text_ & "*' ORDER BY fält"
Och att jag hade den i change för textboxen.
Det är alltså tal om en sorts sökning.
GRiden uppdaterar sig allteftersom jag skriver i textboxen.
Skriver jag 1 så kommer alla poster upp som har ett värde som börjar på ett. Fortsätter jag med 23 så kommer alla poster upp som börjar på 123 o.s.v
Jag vet att jag fick svaret härifrån, första gången jag ville veta hur.Men jag kan inte hitta mitt inlägg i forumet längre.Sv: Värde från textbox till SQL sträng
och skriver följande kod i knappen och berättar vad som händer.
<code>
Private Sub Command1_Click()
Dim DbArtikel As Database
'sökvägen till din accessdatabas.
Set DbArtikel = OpenDatabase("sökväg till din Accessdatabas .mdb")
'du har en Datakontroll(Data1) döpt till dtaSQL
'din DBGrid skall nu vara kopplad till dtaSQL
Set dtaSQL.Recordset = DbArtikel.OpenRecordset _
("SELECT * FROM tabell WHERE fält LIKE'" & txtbox.text & "*' ORDER BY fält")
dtaSQL.Recordset.MoveFirst
End Sub
</code>
Sen undrar jag heter den verkligen tabell och fält ?
Du måste vara tydligare och döpa så man förstår.
EX.
("SELECT FROM Artiklar WHERE ArtNr LIKE'" & txtbox.text & "*' ORDER BY ArtNr")
Sen vill jag ytterligare tillägga en brasklapp som vanligt.
För sådana här "enkla" applikationer så är Access97 och DAO3.6 helt överlägsna.
Slippa en massa djä... lullull som inte gör någon nytta för oss enkla amatörer.
Raka rör gäller krångla för fae... inte till det.
Håller på att spy när jag ser alla krångliga långsamma ADO lösningar.
Funkar det bra så kommer det att funka i all framtid.
Kör fortfarande 20 år gamla Assembler prog på min maskin.
Dom går som tåget "kvickt som en höna skiter".
Skulle säkert vara svårt att i dag få upp den hastigheten och enkelheten.
Phuuuuuuuu nu fick jag ur mig detta också.Sv:Värde från textbox till SQL sträng
<code>
Private Sub txtArtnr_Change()
Dim rs As String
rs = "SELECT * FROM [Inventerings mall] WHERE Artikelnummer LIKE'" & txtArtnr.Text & "*'" & " ORDER BY Artikelnummer"
Data1.RecordSource = rs
Data1.Refresh
End Sub
</code>
Kruxet var att txtArtnr inte fick vara bunden till data1.
då fick jag ju en change i laddögonblicket.
Men nu funkar det fint. Griden rullar på så vackert allteftersom jag skriver i txtArtnr