Avatar billede jakob12345 Nybegynder
21. december 2003 - 21:09 Der er 25 kommentarer og
1 løsning

Underlig fejlmeddelelse

Jeg er ved at lave noget med noget access-database, men når jeg tester mit program kommer den med en fejlmeddelse:
Run-time error '91'
Object variable or With block variable not set.
Og så har den makeret linien med:
Data1.Recordset.MoveFirst

Jeg aner ikke hvad det betyder eller hvordan jeg skal få det rettet så jeg håber der er nogen der kan hjælpe mig.
Avatar billede Slettet bruger
21. december 2003 - 21:11 #1
Det tyder på at din Data1 ikke er kendt, eller at der ikke er puttet noget i Data1's recordset.
Avatar billede jakob12345 Nybegynder
21. december 2003 - 21:12 #2
hmm... jeg har ellers prøvet at indsætte noget tekst i min database fra access men den brokker sig stadig.
Avatar billede thesurfer Nybegynder
21. december 2003 - 21:12 #3
Check om dine indstillinger er sat korrekt.. database og databasename, mener jeg at det er..
Avatar billede jakob12345 Nybegynder
21. december 2003 - 21:14 #4
DatabaseName er rigtig nok
Avatar billede thesurfer Nybegynder
21. december 2003 - 21:16 #5
hvad med recordset?
Avatar billede jakob12345 Nybegynder
21. december 2003 - 21:17 #6
RecordsetType er sat til:    0-Table
Avatar billede thesurfer Nybegynder
21. december 2003 - 21:19 #7
jeg mente "RecordSource".
Avatar billede jakob12345 Nybegynder
21. december 2003 - 21:21 #8
Den står også hvor den skal
Avatar billede Slettet bruger
21. december 2003 - 21:31 #9
Hvordan ser koden ud hvor du fylder din data1?
Avatar billede jakob12345 Nybegynder
21. december 2003 - 21:33 #10
den er ikke fyldt, det er et kalender-program så databasen bliver fyldt efterhånden som man bruger programmet
Avatar billede jakob12345 Nybegynder
21. december 2003 - 21:34 #11
jeg har kun lavet to records selv i access for at se om det virkede
Avatar billede thesurfer Nybegynder
21. december 2003 - 21:35 #12
Hvor du indtaster dine data.. og koden du henter med..
Kan du overhovedet få forbindelse til databasen?
Avatar billede Slettet bruger
21. december 2003 - 21:36 #13
Jamen du er da nødt til at sætte data1.recordsource= et eller andet, eller er jeg helt galt på den?
Avatar billede jakob12345 Nybegynder
21. december 2003 - 21:37 #14
Jeg ved ikke hvor man tester om der er forbindelse til databasen men her er det kode jeg har skrvet om ddatabasen (en søgefunktion)
og det er den første linie det går galt i

    Data1.Recordset.MoveFirst
    Do While Data1.Recordset.EOF = False
        If Data1.Recordset("Dato") = Date Then
            Exit Sub
        End If
        Data1.Recordset.MoveNext
    Loop
Avatar billede jakob12345 Nybegynder
21. december 2003 - 21:39 #15
data1.recordsource  er sat til    Kalender
Tabellen i databasen hedder kalender og selve databasen hedder også kalender. Men på dropdownlisten ud for recordsource var der kun vist den ene der.
Avatar billede Slettet bruger
21. december 2003 - 21:41 #16
Er det Visual Basic eller VBA du koder i?
Avatar billede jakob12345 Nybegynder
21. december 2003 - 21:42 #17
visual basic 6.0
Avatar billede Slettet bruger
21. december 2003 - 21:43 #18
Ok, din data1 er ikke fyldt med noget så, du er nødt til at hente data ind i den, evt i en Form_Load og når du har lagt noget ned i tabellen kan du så lave en Data1.Requery (mener jeg den hedder)
Avatar billede jakob12345 Nybegynder
21. december 2003 - 21:44 #19
øhhh....??
Avatar billede Slettet bruger
21. december 2003 - 21:46 #20
Hvis du i Form_Load skriver
Data1.RecordSource = "Select * from dintabel"
data1.refresh

Så er data1 ikke tom og du kan lave din søgning.
Avatar billede jakob12345 Nybegynder
21. december 2003 - 21:50 #21
Det virkede, men jeg fandt ud af at det eneste den skulle var at refreshe
aner ikke hvorfor!?
Avatar billede Slettet bruger
21. december 2003 - 21:52 #22
Det kan være at det er fordi du bruger denne RecordsetType er sat til:    0-Table og når der er lagt data ned så skal der lige refreshes for at data1 får fat i de nye data.
Avatar billede thesurfer Nybegynder
21. december 2003 - 21:52 #23
Noget gammelt kode jeg havde liggende, til søgning i en database:

With Data1.Recordset

    strFind = Combo1

    .MoveFirst
    .FindFirst ("Title ='" & strFind & "'")

If (.NoMatch) Then
    MsgBox "No Movies Found !"
    Exit Sub
Else
    LoadDataToTextFields
End If

End With
Avatar billede thesurfer Nybegynder
21. december 2003 - 21:54 #24
Jeg plejer at ha' RecordsetType til 1 - Dynaset.

Du kunne også checke om count er større end 0:

Private Sub LoadDataToCombo()
If Data1.Recordset.RecordCount > 0 Then
    Data1.Recordset.MoveFirst
    Do While Data1.Recordset.EOF = False
        Combo1.AddItem Data1.Recordset("Title")
        Data1.Recordset.MoveNext
    Loop
Else
    NoMovies = True
End If
End Sub
Avatar billede jakob12345 Nybegynder
21. december 2003 - 21:55 #25
Mange tak for hjælpen! (Hvad skulle jeg dog gøre uden eksperten.dk :-)
Avatar billede Slettet bruger
21. december 2003 - 21:56 #26
Jeg takker for point :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester