Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126

    visualizzazione di più campi

    Ciao.. io visualizzo il contenuto di un campo in una listbox tramite questo codice:
    codice:
    Private Sub Form_Load()
    Set DB = OpenDatabase(App.Path & "\dbad97.mdb") 
      sSql = "Select * FROM tabprinc  ORDER BY Cognome"
      Set Rs = DB.OpenRecordset(sSql) 
      Do While Not Rs.EOF    
      lstDb.AddItem Rs!nome   'Aggiungo il valore del campo alla ListBox
       Rs.MoveNext
      Loop
    Rs.Close            
    Set Rs = Nothing    
    DB.Close            
    Set DB = Nothing
    End sub
    vorrei visualizzare oltre al nome del cliente anche il suo cognome e se cambio il codice in grassetto in
    codice:
    lstDb.AddItem Rs!nome & Rs!cognome
    riesco a visualizzarlo ma al click su uno di quelli presenti nella listbox non visualizzo gli altri campi che devo visualizzare in alcune txtbox tramite questo codice:

    codice:
    Private Sub lstDb_Click()
    
    framericerca.Visible = False
    tabel.Visible = True
    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    
     For i = 0 To Rs.Fields.Count - 1
       If IsNull(Rs(i).Value) = False Then
          txt(i).Text = Trim(Rs(i).Value)
       Else
          txt(i).Text = vbNullString
       End If
    Next
       Rs.MoveNext
      Loop
    Rs.Close            
    Set Rs = Nothing    
    
    DB.Close            
    Set DB = Nothing
    End Sub
    come posso modificare?
    Ciao
    Voglio l'alt+s anche per FF

  2. #2
    Utente di HTML.it L'avatar di Gugu
    Registrato dal
    Nov 2002
    Messaggi
    523
    Mi sembra molto chiaro che a seguito della modifica che hai fatto non ti funzioni più il doppio click sulla listbox.. il codice presente all'evento lstDb_Click() esegue una ricerca nel database per nome, ma in realtà il nome che vai a cercare è composto dal nome e cognome!
    Normalmente io quando faccio allacciamenti ad un db uso sempre un ID contatore o numerico, ovvero una colonna del database con un numero univoco per ogni numinativo.
    Utilizzando questo ID come riferimento evito qualsiasi problema..
    Ad esempio nel tuo caso specifico, metti in una listbox nascosta o in una variabile con array l'elenco degli ID che rappresentano i nominativi inseriti nell'lstDb.
    codice:
    Private Sub Form_Load()
    dim a as integer
    a=0
    Set DB = OpenDatabase(App.Path & "\dbad97.mdb") 
      sSql = "Select * FROM tabprinc  ORDER BY Cognome"
      Set Rs = DB.OpenRecordset(sSql) 
      Do While Not Rs.EOF    
      lstDb.AddItem Rs!nome & Rs!cognome
      TuaVariabile(a) = Rs!ID
       a=a+1
       Rs.MoveNext
      Loop
    Rs.Close            
    Set Rs = Nothing    
    DB.Close            
    Set DB = Nothing
    End sub
    Mentre poi nel doppio click metti:
    ..ovviamente scrivo solo la riga interessata..
    codice:
    sSql = "Select * FROM tabprinc WHERE ID  = " & _ 
                               TuaVariabile(lstDb.listindex)
    Prova!
    Ciao ciao

    edit: ti ho sistemato i tag ;)
    Ciao
    Andrea

  3. #3
    Utente di HTML.it L'avatar di Gugu
    Registrato dal
    Nov 2002
    Messaggi
    523
    Ops.. scusa ho fatto un po' di confusione coi [CODE]..[B]..
    Spero sia chiaro lo stesso...
    Ciao
    Ciao
    Andrea

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.