Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 21

Discussione: controllo sul campo..

  1. #1
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126

    controllo sul campo..

    ciao.. ho una list box che contiene i calori del campo "nome" del database, al click su uno di questi valori faccio scrivere in alcune txtbox i corrispondenti campi.. il problema nasce quando un campo è vuoto, quindi il debug mi dice "utilizzo non valido di Null". A questo punto visto che è possibile che alcuni campi rimangano vuoti, vorrei fare un controllo che eviti questo errore. Questo è il codice con cui stò lavorando:
    codice:
    Private Sub lstDb_Click()
    'Visualizzazione dei record corrispondenti alla selezione
    Set DB = OpenDatabase(App.Path & "\dbad97.mdb")
      sSql = "Select * FROM tabprinc WHERE Nome= '" & Trim$(lstDb) & "'"  
      Set Rs = DB.OpenRecordset(sSql)
       Do While Not Rs.EOF    
      'Aggiungo il valore del campo corrispondente
      txtnome.Text = Rs!Nome
      txtcognome.Text = Rs!Cognome
      txtdatanascita.Text = Rs!datanascita
      txtluogonascita.Text = Rs!luogonascita
       Rs.MoveNext
      Loop
    Rs.Close            
    Set Rs = Nothing    
    DB.Close            
    Set DB = Nothing
    End Sub
    così com'è se un campo è vuoto mi dà il suddetto errore..
    quale controllo posso mettergli dopo il Do While Not Rs.EOF ?
    Ciao
    Voglio l'alt+s anche per FF

  2. #2
    Utente bannato
    Registrato dal
    Jan 2002
    Messaggi
    852
    codice:
    Private Sub lstDb_Click()
    'Visualizzazione dei record corrispondenti alla selezione
    Set DB = OpenDatabase(App.Path & "\dbad97.mdb")
      sSql = "Select * FROM tabprinc WHERE Nome= '" & Trim$(lstDb) & "'"  
      Set Rs = DB.OpenRecordset(sSql)
       Do While Not Rs.EOF    
      'Aggiungo il valore del campo corrispondente
      if Rs!Nome <> "" then 
        txtnome.Text = Rs!Nome
      end if
      if Rs!Cognome <> "" then
        txtcognome.Text = Rs!Cognome
      end if
      if Rs!datanascita <> "" then
        txtdatanascita.Text = Rs!datanascita
      end if
      if Rs!luogonascita <> "" then
        txtluogonascita.Text = Rs!luogonascita
      end if
      Rs.MoveNext
      Loop
    Rs.Close            
    Set Rs = Nothing    
    DB.Close            
    Set DB = Nothing
    End Sub

  3. #3
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126
    o mamma e quelli saranno una trentina di campi.. non si può fare una cosa per tutti ?
    Voglio l'alt+s anche per FF

  4. #4
    Originariamente inviato da dops
    o mamma e quelli saranno una trentina di campi.. non si può fare una cosa per tutti ?
    si ma dovresti usare le varie text come elementi di una matrice
    Vascello fantasma dei mentecatti nonchè baronetto della scara corona alcolica, piccolo spuccello di pezza dislessico e ubriaco- Colui che ha modificato l'orribile scritta - Gran Evacuatore Mentecatto - Tristo Mietitore Mentecatto chi usa uTonter danneggia anche te

  5. #5
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126
    aaa.. tipo txtnome(0) etc.. ?
    no vabbè le scrivo tutte e trenta
    Voglio l'alt+s anche per FF

  6. #6
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126
    ho un'altra domanda.. e questa volta non rubo spazio :
    stò cercando di fare una selezione all'evento change di una txtbox mo vi faccio vedere il codice, quello in grassetto è quello che non riesco a fare, o forse sbaglio tutto :

    codice:
    Private Sub ricnome_Change()
    Set DB = OpenDatabase(App.Path & "\dbad97.mdb")
      sSql = "Select * FROM tabprinc WHERE Nome= '" & Trim$(txtnome) & "'"
      Set Rs = DB.OpenRecordset(sSql)
      Do While Not Rs.EOF
      lstDb.Selected = txtnome
      
        Rs.MoveNext
      Loop
    Rs.Close           
    Set Rs = Nothing    
    DB.Close            
    Set DB = Nothing
    End Sub
    cioè praticamente quello che voglio fare è selezionare il campo presente nella listbox (lstdb) mentre scrivo nella txtbox (txtnome), cioè mettiamo ad esempio che io stia scrivendo il nome "raffaele", mentre scrivo raf.. mi deve selezionare i campi che iniziano con raf
    Ho impostato bene il codice o ho sbagliato tutto?
    Voglio l'alt+s anche per FF

  7. #7
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126
    nessuno mi risponde?
    Voglio l'alt+s anche per FF

  8. #8
    Originariamente inviato da dops
    aaa.. tipo txtnome(0) etc.. ?
    no vabbè le scrivo tutte e trenta
    veramente l'idea sarebbe
    codice:
    for i = 0 to rs.fields.count - 1
       if isnull(rs.field(i).value) = false
          txt(i).text = trim(rs.field(i).value)
       else
          txt(i).text = vbnullstring
       end if
    next
    Vascello fantasma dei mentecatti nonchè baronetto della scara corona alcolica, piccolo spuccello di pezza dislessico e ubriaco- Colui che ha modificato l'orribile scritta - Gran Evacuatore Mentecatto - Tristo Mietitore Mentecatto chi usa uTonter danneggia anche te

  9. #9
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126
    aaa ecco un ciclo for.. grazie
    non è che puoi rispondere pure all'altra domanda?
    Voglio l'alt+s anche per FF

  10. #10
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126
    aspè.. però mi dà un errore
    codice:
      
    For i = 0 To Rs.Fields.Count - 1
       If IsNull(Rs.Field(i).Value) = False Then
          txt(i).Text = Trim(Rs.Field(i).Value)
       Else
          txt(i).Text = vbNullString
       End If
    Next
    il debug mi dice impossibile trovare il membro dei dati e mi segna in giallo il "Filed" in grassetto..
    perchè?
    Voglio l'alt+s anche per FF

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.