Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    23

    VB e database

    Sto iniziando a programmare con VB, ho un problema sui database.
    Impostando un form che acceda al Northwind, incorro in errore 91 'Variabile oggetto o variabile del blocco With non impostata', e non è consentito lo scorrimento dei record.
    Il codice è :

    Private Sub Command1_Click()
    Data1.Recordset.MovePrevious
    End Sub
    Private Sub Command2_Click()
    Data1.Recordset.MoveNext
    End Sub
    Private Sub Form_Load()
    Form1.Caption = "DataAccess"
    Text1.Text = ""
    Text2.Text = ""
    Text3.Text = ""
    Label1.Caption = " Questo è il mio primo progetto con il DataAccess"
    Command1.Caption = "Indietro"
    Command2.Caption = "Avanti"
    With Data1
    .DatabaseName = "c:\esempio1\northwind.mdb"
    .RecordSource = "clienti"
    End With
    With Text1
    .DataField = "NomeSocietà"
    End With
    With Text2
    .DataField = "Città"
    End With
    With Text3
    .DataField = "CAP"
    End With
    End Sub

    Qual è l'errore nel sorgente ?
    Ringrazio per ogni contributo
    Pina_s

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,463

    Moderazione

    Ciao e benvenuto nel forum di Programmazione.

    Ti segnalo da subito la lettura del nostro Regolamento, così potrai conoscere tutte le norme da seguire per partecipare correttamente a quest'area.

    Ciò che non dovrai mai dimenticare è il linguaggio nel titolo, e la versione se necessario; prendi spunto dalle discussioni esistenti per un un esempio.

    Il linguaggio Visual Basic viene trattato in una sezione apposita in cui sposterò questa discussione, non appena mi confermi la versione di VB che usi per poter correggere il titolo.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    ciao getti

    senti, sarebbe opportuno che utilizzassi gli appositi tag per scrivere il codice:
    [*CODE]codice[*/CODE] (senza *)
    almeno diventa leggibile e più facilmente comprensibile

    e poi ...
    potresti indicare la riga esatta del codice su cui ti si genera l'errore?


    Ciao
    lady

    05.08.2005 - by alka
    Auguri all'angelo custode dei moderatori.

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    23
    Ciao ladyBlu
    ripropongo il codice più ordinato(almeno spero, non uso i tag di solito) :
    codice:
        Private Sub Command1_Click() 
                    Data1.Recordset.MovePrevious 
              End Sub 
     
              Private Sub Command2_Click() 
                    Data1.Recordset.MoveNext 
              End Sub 
    
              Private Sub Form_Load() 
                    Form1.Caption = "DataAccess" 
                    Text1.Text = "" 
                    Text2.Text = "" 
                    Text3.Text = "" 
                    Label1.Caption = " Questo è il mio primo progetto con il DataAccess" 
                    Command1.Caption = "Indietro" 
                    Command2.Caption = "Avanti" 
    
                With Data1 
                    .DatabaseName = "c:\esempio1\northwind.mdb" 
                    .RecordSource = "clienti" 
                End With 
    
                With Text1 
                    .DataField = "NomeSocietà" 
                End With 
    
                With Text2 
                    .DataField = "Città" 
                End With 
    
                With Text3 
                    .DataField = "CAP" 
                End With 
             End Sub
    Il blocco si genera sull'istruzione Data1.Recordset.MoveNext quando clicco sul Command2 oppure sull'istruzione Data1.Recordset.MovePrevious se clicco sul Command1.
    Sostanzialmente, non riesco a far scorrere i record.

    Ti ringrazio ancora per ogni contributo
    getti

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    357
    Non spieghi dove hai l'errore, ho fatto delle piccole correzioni al tuo codice e funziona. Senz'altro l'avrai già fatto ma devi impostare nelle proprietà dei text il datasource = Data1 che non si può impostare a run time (cioè: Set Text1.DataSource = Data1) perchè darebbe errore.
    codice:
    Private Sub Command1_Click()
        If Not Data1.Recordset.BOF Then Data1.Recordset.MovePrevious
    End Sub
    Private Sub Command2_Click()
        If Not Data1.Recordset.EOF Then Data1.Recordset.MoveNext
    End Sub
    Private Sub Form_Load()
        Form1.Caption = "DataAccess"
        Text1.Text = ""
        Text2.Text = ""
        Text3.Text = ""
        Label1.Caption = " Questo è il mio primo progetto con il DataAccess"
        Command1.Caption = "Indietro"
        Command2.Caption = "Avanti"
        With Data1
            .DatabaseName = "c:\esempio1\northwind.mdb"
            .RecordSource = "clienti"
            .Refresh
        End With
        With Text1
            .DataField = "NomeSocietà"
        End With
        With Text2
            .DataField = "Città"
        End With
        With Text3
            .DataField = "CAP"
        End With
    End Sub

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    23
    Ciao mgmg
    grazie per la risposta.
    Ho modificato il codice come mi consigli, ma mi segnala "Errore di run-time 3170 : Impossibile trovare IMAM installabile", poi il debug si posiziona su .Refresh.
    Non riesco ad interpretarlo.
    Puoi aiutarmi ?

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    357
    Non riesce a trovare una dll, nei riferimenti del tuo progetto hai spuntato la dll Microsoft DAO 3.6 Object Library (dao360.dll)?
    Ciao

  8. #8
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    23
    Sì, è spuntata.
    Ciao

  9. #9
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Hai applicato il SP6 al tuo VB?

    P.S. Gli IMAM non c'entrano molto ... .... ovviamente era ISAM ...

  10. #10
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    23
    Sì certo, era ISAM
    Cos'è l'sp6 ? Un service pack ?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.