Dvs Δημοσ. 25 Ιανουαρίου 2003 Δημοσ. 25 Ιανουαρίου 2003 Private Sub Form_Initialize() ' Loading database Data1.DatabaseName = App.Path + "\Database.mdb" Data1.Exclusive = False Data1.Refresh End Sub Private Sub Form_Load() lstProg.Clear ' Finding all programs and refreshing lstprog Data1.RecordSource = "SELECT * FROM ProgName" Data1.Refresh End Sub If (Not Data1.Recordset.EOF) Then Dim i As Integer For i = 0 To Data1.Recordset.RecordCount - 1 Data1.Recordset.MoveLast Data1.Recordset.MoveFirst lstProg.AddItem (Data1.Recordset.Fields(1)) Data1.Recordset.MoveNext Next i End If sta bold gramata perno to error: object variable or with block variable not set! Kapio psilokoulo lathos einai alla ti omos?
Dvs Δημοσ. 25 Ιανουαρίου 2003 Μέλος Δημοσ. 25 Ιανουαρίου 2003 kata ena paraxeno tropo o kodikas autos leitourgei: Private Sub Form_Initialize() ' Loading database Data1.DatabaseName = App.Path + "\Database.mdb" Data1.Exclusive = False Data1.Refresh Call fuckme End Sub Sub fuckme() lstProg.Clear ' Finding all programs and refreshing lstprog Data1.RecordSource = "SELECT * FROM ProgName" Data1.Refresh If (Not Data1.Recordset.EOF) Then Dim i As Integer For i = 0 To Data1.Recordset.RecordCount - 1 Data1.Recordset.MoveLast Data1.Recordset.MoveFirst lstProg.AddItem (Data1.Recordset.Fields(1)) Data1.Recordset.MoveNext Next i End If End Sub pos exigeitai auto?
bandito Δημοσ. 25 Ιανουαρίου 2003 Δημοσ. 25 Ιανουαρίου 2003 Νομίζω οτι αφού δεν άρχισες να κινείσαι μέσα στο recordset, δεν έχει νόημα το EOF. Καλύτερα να κάνεις τον έλεγχο με το RecordCount.
GrMikeD Δημοσ. 25 Ιανουαρίου 2003 Δημοσ. 25 Ιανουαρίου 2003 Exw tin edupwsi oti prin deis to eof prepei na kaneis: Data1.Recordset.MoveFirst; kai meta while (Not Data1.Recordset.EOF) do ... Data1.Recordset.MoveNext; end do
Dvs Δημοσ. 25 Ιανουαρίου 2003 Μέλος Δημοσ. 25 Ιανουαρίου 2003 O kodikas douleuei ama ton spaso se sub eno ama ton valo olo mazi den douleuei!!! den xero re paida :> GrMikeD: den einai anagaio
The_Edge Δημοσ. 26 Ιανουαρίου 2003 Δημοσ. 26 Ιανουαρίου 2003 Ο κώδικας σκάει γιατί μάλλον πρώτα εκτελείται η Load και μετά η Initialize!! Βάλε breakpoints και στις 2 για να βεβαιωθείς ότι αυτό είναι..... Στη δεύτερη περίπτωση δεν έχεις Load και όλα εκτελούνται στην Initialize!!! Σωστά??
Dvs Δημοσ. 27 Ιανουαρίου 2003 Μέλος Δημοσ. 27 Ιανουαρίου 2003 prota den ekteleitai i initialize kai meta i load?
The_Edge Δημοσ. 27 Ιανουαρίου 2003 Δημοσ. 27 Ιανουαρίου 2003 Ναι, πρώτα εκτελείται η initialize, αλλά πολλές φορές συμβαίνει το εξής: σε κάποια γραμμή του κώδικα της αλλάζει κάποιο property ενός control της φόρμας, και έτσι γίνεται triggered το form_Load, και συνεχίζει εκεί η εκτέλεση του κώδικα, και όταν τελειώσει η form_Load ξαναγυρνά η εκτέλεση στην initialize. Βάλε breakpoints στις δυο procedures και κάνε "step" (με το F8) και δες με ποια σειρά εκτελούνται οι εντολές.
drm Δημοσ. 27 Ιανουαρίου 2003 Δημοσ. 27 Ιανουαρίου 2003 Είναι λογικό να υπάρχει κώδικάς μετά το end sub ??? Μου φαίνετε αρκετά περίεργο. Μάλλον αυτό φταίει. Δοκιμάσε την If να την βάλεις πριν το end sub.
Dvs Δημοσ. 28 Ιανουαρίου 2003 Μέλος Δημοσ. 28 Ιανουαρίου 2003 drm: to end sub apla emeine ekei apo to copy paste <img src="http://www.insomnia.gr/ubbthreads/images/graemlins/wink.gif" alt="" /> The_Edge: dokimasa to breakpoint alla oi ektoles ektelountai kanonika mexri ekei pou exei runtime error - o kodikas xekinaei apo to initialize kai den me metaferei katholou sto load
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.