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

Discussione: [VB6] Combo database

  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2001
    Messaggi
    452

    [VB6] Combo database

    Sto CERCANDO di sviluppare un piccolo gestionale in VB6 e Access2000, all'inizio io devo selezionare una data persona da un combo (combo riempito con una query che recupera tutti i nominativi inseriti nel database), una volta selezionato il nominativo dovrei automaticamente far riempire anche i dati indirizzo, citta, tel ecc di quella determinata persona, come posso fare ?
    Attualmente con il codice postato di seguito io sono riuscito a prelevare tutti le persone ed inserirle nel combo e quando ne seleziono una mi appare il numero di ID corretto di quel paziente, ma quell che non so fare è appunto il collegare gli altri dati tipo indirizzo ecc ai vari textbox ?


    Cod. da e creato.

    Private Sub Form_Load()

    Dim QuerySelezionePERSONA As String

    QuerySelezionePERSONA = "Select Archivio.NOMINATIVO, Archivio.ID FROM Archivio ORDER BY Archivio.NOMINATIVO"
    QuerySelezione = "SELECT * FROM ARCHIVIO order BY Archivio.NOMINATIVO"

    Data_Anagrafica.DatabaseName = "c:\PROVA\dati.mdb"
    Data_Anagrafica.RecordSource = QuerySelezione
    Data_Anagrafica.Refresh

    While Not Data_Anagrafica.Recordset.EOF
    cmbPERSONA.AddItem Data_Anagrafica.Recordset("Nominativo")
    cmbPERSONA.ItemData(cmbPazienti.NewIndex) = Data_Anagrafica.Recordset("ID")

    Data_Anagrafica.Recordset.MoveNext ' mi muovo al record seguente

    Wend

    End Sub



    Private Sub cmbPERSONA_Click()

    'se ho solezionato una voce scrivo i dati nei vari Textbox
    If cmbPERSONA.ListIndex <> -1 Then
    'txtnominativo.Text = cmbPERSONA.Text & " , ID(" & cmbPERSONA.ItemData(cmbPERSONA.ListIndex) & ")"
    txtnominativo.Text = cmbPERSONA.Text
    txtID.Text = cmbPERSONA.ItemData(cmbPERSONA.ListIndex)

    End If

    End Sub

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    327
    ma perchè vi complicate la vita con ste cose?

    Fai una normalissima select sul db in base all'id e poi fai una move nei vari campi senza questi salti mortali di collegamenti a fonte dati e via dicendo.

    Poi fate come volete


  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2001
    Messaggi
    452

    ddies

    Scusa la mia ignoranza ma hai mica un esempio da postarmi qui

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    327
    nell'evento combo click


    codice:
    QuerySelezione = "SELECT * FROM ARCHIVIO WHERE ID=" & IdSelezionato
    
    Data_Anagrafica.RecordSource = QuerySelezione 
    'Data_Anagrafica.Refresh 
    
    if not Data_Anagrafica.Recordset.EOF then
      if not isnull(Data_Anagrafica.Recordset("Telefono") then
        txtTelefono.text=Data_Anagrafica.Recordset("Telefono")
      end if
    
      if not isnull(Data_Anagrafica.Recordset("Indirizzo") then
        txtInidirzzo.text=Data_Anagrafica.Recordset("Indirizzo")
      end if
    end if
    per non stravolgere troppo il tuo codice

    End Sub

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2001
    Messaggi
    452

    scasami ddies

    scusa so che ti rompo le pa..e ma purtroppo non ho mai lavorato coni database e credo che tu lo abbia capito MOLTO bene, ma ti prometto di non stressarti più, non capisco del tutto la riga seguente o meglio non capisco & IdSelezioanto.

    QuerySelezione = "SELECT * FROM ARCHIVIO WHERE ID=" & IdSelezionato

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    327
    QuerySelezione = "SELECT * FROM ARCHIVIO WHERE ID=" & cmbPERSONA.ItemData(cmbPERSONA.listindex)

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2001
    Messaggi
    452

    x ddies

    Ho modificato la QuerySelezione sull'evento load del form come mi hai segnato tu ma purtroppop mi restituisce un msgbox: errore 381 - Indice della matrice di proprietà non valido.

  8. #8
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    327
    Non devi modificare quella della form load ma quella nell'evento di combo clik, cioè quando selezioni una persona, fa partire una select che va a prendere i dati di quella persona in base al suo id.
    quella nela form load lasciala com'e' serve per caricare il combo

  9. #9
    Utente di HTML.it
    Registrato dal
    Jul 2001
    Messaggi
    452

    x ddies

    GRAZIE MOLTE ORA INCOMINCIA A FUNZIONARE, l'unico msg di errore che mi da e' nella riga seguente

    if not isnull(Data_Anagrafica.Recordset("Telefono") then

    mi restituisce Errore di Compilazione Previsto separatore di elenco oppure )

    sono in debito

  10. #10
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    327
    Aggiungi una parentesi:
    if not isnull(Data_Anagrafica.Recordset("Telefono")) then

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 © 2024 vBulletin Solutions, Inc. All rights reserved.