DATABASE in vb6

di Anonimizzato15375 il
28 risposte

28 Risposte - Pagina 2

  • Errore di run time 94 utilizzo non valido di null
  • Ma in quale linea di codice?

    Devi essere più preciso ogni volta che posti ... E poi questo, molto probabilmente, non c'entra con la ricerca (e con questo thread) ma con il resto del codice che è pieno di bug ...
  • Gianni24 ha scritto:


    Errore di run time 94 utilizzo non valido di null
    Errore che non ha niente a che fare con la query.
    Concordo con Oregon.
  • Hai ragione oregon....
    Set DB = OpenDatabase(App.Path & "\libri.mdb")
    Set rs2 = DB.OpenRecordset("Info", dbOpenTable)
    With DB

    Set rstInfo = .OpenRecordset("Info")
    If rstInfo.RecordCount = 0 Then Exit Sub
    With rstInfo
    .Edit
    txt_id.Text = !id
    txt_autore.Text = !autore
    txt_titolo.Text = !titolo
    txt_edizione.Text = !edizione
    txt_testo.Text = !testo
    txt_note.Text = !note
    End With
    End With
    carica_volumi
    End Sub

    Se uno dei campi del database di acces è vuoto di da l'errore: Errore di run time 94 utilizzo non valido di null
  • Ovviamente ... perché quel codice è, come ti ho detto, fuori dal tempo e dal mondo.
    Ai tempi si scriveva

    txt_testo.Text = !testo & ""
    txt_note.Text = !note & ""

    ma dato che vorresti imparare ti consiglio di non usare codici così antiquati e di non partire oggi con il VB6.

    Se parti da zero (come mi pare di capire) studia VB.NET ed in modo appropriato (da libri di testo e con tanta pazienza, senza scorciatoie e senza scopiazzare codice senza comprenderlo).
  • Hai ragione, ma sto solo cercando di modificare un vecchio codice per un programma che mi serve, dato che un bel po' di tempo fa utilizzavo VB6...
    c'è comunque un modo per risolvere il problema???
  • c'è comunque un modo per risolvere il problema???
    Ma hai letto il mio ultimo post attentamente?
  • Ok... non avevo visto bene.... grazie per la pazienza...
  • Mi da clomunque l'errore... quando selezione l'elemento dalla lista:

    Public Sub seleziona_volume()
    Set rs = DB.OpenRecordset("Select * from Info where id = '" & Trim(lst_Volumi.List(lst_Volumi.ListIndex)) & "'")
    rs.MoveFirst
    txt_id = rs("id")
    txt_autore = rs("autore")
    txt_titolo = rs("titolo")
    txt_edizione = rs("edizione")
    txt_testo = rs("testo")
    txt_note = rs("note")
    End Sub
  • Esamina, prioritariamente, che il valore non sia nullo o la lunghezza del testo a zero:
    https://msdn.microsoft.com/VBA/Language-Reference-VBA/articles/isnull-function
    https://bytes.com/topic/visual-basic/answers/710763-how-can-i-check-if-access-field-null-using-vb6
    http://forums.devx.com/showthread.php?52116-IsNULL-function-in-WHERE-Clause-in-SQL-statement
    http://sqlanywhere-forum.sap.com/questions/11446/vb6-is-not-null
    https://stackoverflow.com/questions/8762345/vb6-equivalent-of-string-isnullorempty
    https://stackoverflow.com/questions/19667311/check-a-recordset-for-an-empty-field
  • Gianni ... un po' di intraprendenza però ... altrimenti non vai da nessuna parte ...

    Guarda cosa ho aggiunto prima e fallo anche dove serve !
  • Gianni24 ha scritto:


    Hai ragione, ma sto solo cercando di modificare un vecchio codice per un programma che mi serve, dato che un bel po' di tempo fa utilizzavo VB6...
    Ma come?
    Ma se hai aperto questo thread chiedendo aiuto per creare un nuovo database!!!

    No. Non ci siamo...
  • Ciao a tutti, finalmente sono riuscito a creare il database secondo le mie esigenze:
    Ho una listbox dove vengono caricati i dati di un campo ("Id") del database di access, e 5 richtextbox dove vengono caricati i dati dei campi di access in riferimento al campo Id.
    Ora ho notato, che quando carico il database sul form, la lista degli "Id" viene caricata regolarmente, ma quando la prima volta clicco sulla listbox per caricare i dati nelle richtextbox, devo cliccare due volte, perchè altrimenti alcune richtextbox rimangono vuote. Questo succede solo la prima volta... ecco il codice:

    Public Function seleziona_foto()
    Set rs = DB.OpenRecordset("Select * from Foto where id = '" & Trim(schermata_foto.lst_Foto.List(schermata_foto.lst_Foto.ListIndex)) & "'")
    rs.MoveFirst
    schermata_foto.txt_id = rs("id")
    schermata_foto.cmb_categoria = rs("categoria")
    schermata_foto.txt_anno = rs("anno")
    schermata_foto.txt_provenienza = rs("provenienza")
    schermata_foto.txt_soggetti = rs("soggetti")
    End Function
  • Questo è un altro problema. Non puoi continuare nello stesso thread per sempre.

    Crea un nuovo thread con un titolo opportuno e spiega meglio il problema, nell'area VB6 non qui !
Devi accedere o registrarti per scrivere nel forum
28 risposte