Nån som har en aning hur sökningen skall vara? Använd en listview för att visa resultatet. Så här skulle koden se ut: Tack för det tipset men går det inte att söka som jag hade tänckt mej? Kan ingenting om databaser, men jag tror att det skall vara Ja det stämmer men jag har redan hämtat allting från databasen och vill visa den posten där rs(7) innehåller det ord jag anger! Ordet skall kunna vara vilket som helst o strängen. Kan du inte göra sökningen före?sökning(löst!)
Jag skall kunna söka på vilket ord som helst i rs(7) !
Private Sub cmdsok_Click()
sok = Trim(InputBox("ANGE SÖKORD!"))
rs.MoveFirst
Do While Not rs.EOF
If rs(7) = " %sok%" Then
UserForm3.txtfornamn.text = rs(1).Value
UserForm3.txtefternamn.text = rs(2).Value
UserForm3.txtanmalare.text = rs(6).Value
UserForm3.txtenhet.text = rs(5).Value
UserForm3.txtersattn.text = rs(9).Value
UserForm3.txtbeskrivning.text = rs(7).Value
UserForm3.txtatgard.text = rs(8).Value
UserForm3.txtanmdat.text = rs(3).Value
UserForm3.txtanmtid.text = rs(4).Value
UserForm3.txtarbetstid.text = rs(10).Value
UserForm3.txtanmnum.text = rs(0).Value
End If
rs.MoveNext
Loop
End SubSv: sökning
<code>
'Lägg till "Microsoft Windows Common Controls 6.0" i componentrer
'Lägg till en listview i UserForm3 formuläret
'Ändra egenskapen View till lvwReport för listview'n
'Högerklicka och välj properties från popupmenyn
' Lägg till 10st kolumnheaders och ge dem rätt caption
Private Sub cmdsok_Click()
Dim rs As ADODB.Recordset
Dim conn As ADODB.Connection
Dim fldFornamn As ADODB.Field
Dim fldEfternamn As ADODB.Field
Dim fldAnmalare As ADODB.Field
Dim fldEnhet As ADODB.Field
Dim fldErsattn As ADODB.Field
Dim fldBeskrivning As ADODB.Field
Dim fldAtgard As ADODB.Field
Dim fldAnmdat As ADODB.Field
Dim fldAnmtid As ADODB.Field
Dim fldArbetstid As ADODB.Field
Dim fldAnmnum As ADODB.Field
Dim Item As ListItem
Dim ListItems As ListItems
Dim strFind As String
strFind = Trim(InputBox("ANGE SÖKORD!"))
If Len(strFind) Then
Set ListItems = UserForm3.ListView1.ListItems
ListItems.Clear
Set conn = New ADODB.Connection
conn.Open "Anslutnings sträng"
Set rs = New ADODB.Recordset
rs.Open "SELECT * FROM TabellNamn WHERE Beskrivning Like '%" & sok & "%'", conn
Set fldFornamn = rs("Fornamn")
Set fldEfternamn = rs("Efternamn")
Set fldAnmalare = rs("Anmalare")
Set fldEnhet = rs("Enhet")
Set fldErsattn = rs("Ersattn")
Set fldBeskrivning = rs("Beskrivning")
Set fldAtgard = rs("Atgard")
Set fldAnmdat = rs("Anmdat")
Set fldAnmtid = rs("Anmtid")
Set fldArbetstid = rs("Arbetstid")
Set fldAnmnum = rs("Anmnum")
Do Until rs.EOF
Set Item = ListItems.Add(, , "" & fldFornamn.Value)
Item.SubItems(1) = "" & fldEfternamn.Value
Item.SubItems(2) = "" & fldAnmalare.Value
Item.SubItems(3) = "" & fldEnhet.Value
Item.SubItems(4) = "" & fldErsattn.Value
Item.SubItems(5) = "" & fldBeskrivning.Value
Item.SubItems(6) = "" & fldAtgard.Value
Item.SubItems(7) = "" & fldAnmdat.Value
Item.SubItems(8) = "" & fldAnmtid.Value
Item.SubItems(9) = "" & fldArbetstid.Value
Item.SubItems(10) = "" & fldAnmnum.Value
rs.MoveNext
Loop
rs.Close
conn.Close
End If
End Sub
</code>Sv: sökning
den här fungerar! Då sätter jad in ett nummer som finns i kolumner idnummer
Private Sub cmdhamta_Click()
Dim NUMMER As String
NUMMER = Trim(InputBox("ANGE ID NUMMER!"))
rs.MoveFirst
Do While Not rs.EOF
If rs(0) = NUMMER Then
UserForm3.txtfornamn.text = rs(1).Value
UserForm3.txtefternamn.text = rs(2).Value
UserForm3.txtanmalare.text = rs(6).Value
UserForm3.txtenhet.text = rs(5).Value
UserForm3.txtersattn.text = rs(9).Value
UserForm3.txtbeskrivning.text = rs(7).Value
UserForm3.txtatgard.text = rs(8).Value
UserForm3.txtanmdat.text = rs(3).Value
UserForm3.txtanmtid.text = rs(4).Value
UserForm3.txtarbetstid.text = rs(10).Value
UserForm3.txtanmnum.text = rs(0).Value
End If
rs.MoveNext
Loop
End SubSv: sökning
rs.Open "SELECT * FROM TabellNamn WHERE Beskrivning Like '%" & strFind & "%'", conn
istället.
/Niklas JanssonSv: sökning
jag hämtar det i form_initialize() så jag kan stega fram och bakåt
Public Sub UserForm_Initialize()
db.Open "Driver=SQL Server; Server=vlkjehol;Database=ANMALAN;UID=SA;PWD=;"
rs.Open "select * from prob_jouranm_t", db, adOpenKeyset, adLockOptimistic
End SubSv: sökning
Annars har du väl inte mycket val än att kolla igenom hela listan?
If rs(7) Like "*" & strFind & "*" then
...
/Niklas Jansson