Du må være registrert og logget inn for å kunne legge ut innlegg på freak.no
X
LOGG INN
... eller du kan registrere deg nå
Dette nettstedet er avhengig av annonseinntekter for å holde driften og videre utvikling igang. Vi liker ikke reklame heller, men alternativene er ikke mange. Vær snill å vurder å slå av annonseblokkering, eller å abonnere på en reklamefri utgave av nettstedet.
  1 911
Hei! Trenger litt hjelp med fremmedord i en vb-kode!

I Access fungerer den slik at jeg kan søke på fornavn, etternavn eller poststed. Skriver man F på fornavnboksen filtreres alle som begynner på F ut. Dobbeltklikker man på et navn i listen som kommer opp, går man direkte inn i persondata til denne personen.

Trenger forklaring til følgende: Dim vSearchString as String.
Me.Kundesøkliste.Requery ... Hva vil Requery her si?
Set rst = Forms!Kundeskjema.Recordset.Clone rst= ?? Hva vil Recordset.Clone si?
Dim db As DAO.Database
Dim rst As DAO.Recordset



Her er koden:


Private Sub Kundesøkliste_DblClick(Cancel As Integer)
On Error GoTo Err_Kundesøkliste_DblClick

Call Kommando16_Click

Exit_Kundesøkliste_DblClick:
Exit Sub

Err_Kundesøkliste_DblClick:
MsgBox Err.Description, , "Problem"
Resume Exit_Kundesøkliste_DblClick

End Sub

Private Sub Txtsøk_Change()
Dim vSearchString As String
vSearchString = Me.Txtsøk.Text
Me.Txtsøk2.Value = vSearchString
Me.Kundesøkliste.Requery

End Sub

Private Sub TxtSøk3_Change()
Dim vSearchString As String
vSearchString = Me.TxtSøk3.Text
Me.Txtsøk4.Value = vSearchString
Me.Kundesøkliste.Requery
End Sub

Private Sub Txtsøk5_Change()
Dim vSearchString As String
vSearchString = Me.Txtsøk5.Text
Me.Txtsøk6.Value = vSearchString
Me.Kundesøkliste.Requery
End Sub
Private Sub Kommando16_Click()
On Error GoTo Err_Kommando16_Click
Dim db As DAO.Database
Dim rst As DAO.Recordset

If IsNull(Me.Kundesøkliste) Or Me.Kundesøkliste = "" Then Exit Sub

DoCmd.OpenForm "Kundeskjema"

Set rst = Forms!Kundeskjema.Recordset.Clone

rst.FindFirst "KundeID = " & Me.Kundesøkliste
Forms!Kundeskjema.Bookmark = rst.Bookmark

DoCmd.Close acForm, Me.Name

Exit_Kommando16_Click:
Exit Sub

Err_Kommando16_Click:
MsgBox Err.Description
Resume Exit_Kommando16_Click

End Sub
▼ ... noen uker senere ... ▼
Vet ikke hva slags nivå du ligger på innen visual basic. Ut i fra spørsmålene du stiller legger jeg meg på veldig grunnleggende nivå.
Sitat av drazz
Dim vSearchString as String.
Vis hele sitatet...
Dim betyr deklarering av variabel. "String" kan være både tegn og tall. Så her blir det "bestemt" at ordet vSearchString kan inneholde både tegn og tall.

Sitat av drazz
Dim db As DAO.Database
Dim rst As DAO.Recordset
Vis hele sitatet...
Dim se over. DAO betyr Data Access Object. Det er en av mulighetene man har for å koble seg til en database i windows ved programmering.

Database er jo selve databasen i Access. (.mdb)

Recordset er enten en spørring eller en tabell fra databasen. Ergo skal du bruke to tabeller fra databasen din i programmeringen så må du "i utgangspunktet" ha 2 recordset.

Sitat av drazz
Me.Kundesøkliste.Requery ... Hva vil Requery her si?
Vis hele sitatet...
Me er form/skjemaet. Kundesøkliste er sikkert em combobox.
Requery betyr oppdater spørring på " norsk Access".
Her så blir comboboxen/listen oppdatter ut fra en spørring. Spørringen er sikkert ut fra tabellen kundeskjema.

Sitat av drazz
Set rst = Forms!Kundeskjema.Recordset.Clone
Vis hele sitatet...
rst ble jo bestemt/deklarert til å være et recordset.(tabell eller spørring).
Det som blir gjort her er at rst er en kobling opp mot spørringen eller tabellen som kundeskjema henter sine data fra.

Da har jeg svart på spørsmålene du spurte om. Om det er gode nok svar får du selv avgjøre. Jeg vil anbefale at du evt googler litt. Det er mange bra sider om VBA programmering for Access der ute

Du kan også ta kontakt på PM.

Ole
Sist endret av _Ole_; 10. juli 2008 kl. 09:01.