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

Discussione: [VB 6] Combo Box

  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    262

    [VB 6] Combo Box

    Salve amici del forum, ho un problemino che non riesco a risolvere e chiedo a voi un piccolo aituo.
    Vi spiego qual'è il problema:
    Ho un db che tramite un client VB accedo ai dati.ora la mia form è caricata con una combobox e delle text,la cambo viene popolata con dei dei dati presi dal db,quindi ad ogni click sulla combo cambio i dati; tipo nella combo carico una serie di aziende esempio: Alcatel Ericcson Alcatel Alcatel di cui le aziende alcatel hanno diverse sedi,però quando lancio il programma e seleziono i duplicati in questo caso alcatel non riesco a distinguerli perchè nella textbox della città vedo sempre milano quindi solo la prima azienda alcatel e nonstante seleziono le altre vedo sempre la prima.
    Come posso risolvere il problema?

  2. #2
    Utente di HTML.it L'avatar di Brainjar
    Registrato dal
    Nov 2004
    Messaggi
    1,162
    Posta il codice del combo_Click.
    Ciao,
    Ciao, Brainjar

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    262
    Ecco il codice:

    If AdoRs.State = adStateOpen Then
    AdoRs.Close
    End If
    '************************************************* ***********

    strQuery = "Select *" _
    & " From tAnagrafica" _
    & " Where NomeAzienda= '" & Combo1.Text & "' AND ID= '" & TxtID.Text & "' "


    ' Riempio le text del form
    '************************************************* *********

    Esegui_Query (strQuery)

    Call pulisci


    If AdoRs!Località <> "" Then
    txtLocalita.Text = AdoRs!Località
    End If
    If AdoRs!Città <> "" Then
    txtProvincia.Text = AdoRs!Città
    End If
    If AdoRs!CAP <> "" Then
    txtCAP.Text = AdoRs!CAP
    End If
    If AdoRs!Indirizzo <> "" Then
    txtIndirizzo.Text = AdoRs!Indirizzo
    End If
    If AdoRs!Tel <> "" Then
    txtTel.Text = AdoRs!Tel
    End If
    If AdoRs!Fax <> "" Then
    txtFax.Text = AdoRs!Fax
    End If
    If AdoRs!Web <> "" Then
    txtWeb.Text = AdoRs!Web
    End If
    If AdoRs!Email <> "" Then
    txtemail.Text = AdoRs!Email
    End If

    TxtID.Text = AdoRs!ID
    If AdoRs!Codice_cliente <> "" Then
    txtCodicecliente = AdoRs!Codice_cliente
    End If

    ID = AdoRs!ID
    IDAnagrafica = ID
    NomeAziendaAnagrafica = AdoRs!NomeAzienda

    'Associo al controllo il campo NomeAzienda utile per la modifica della Ragione Sociale
    txtModNomeAzienda.Text = AdoRs!NomeAzienda
    '************************************************* ************************************

  4. #4
    Utente di HTML.it L'avatar di Brainjar
    Registrato dal
    Nov 2004
    Messaggi
    1,162
    Come immaginavo, la query la imposti sul nome Azienda :
    codice:
    strQuery = "Select *" _ 
    & " From tAnagrafica" _ 
    & " Where NomeAzienda= '" & Combo1.Text & "' AND ID= '" & TxtID.Text & "' "
    Mentre dovresti fare una query con un valore univoco, che so', il
    codice della sede. Hai nella tabella delle Aziende questa informazione? non è per caso quello che poi metti in TxtID.Text ?

    Se si, devi collegare ogni elemento della combo con il suo codice
    univoco e se è numerico, è abbastanza semplice.

    Fammi sapere, in tutti i casi, che ti do' una mano.

    Ciao,
    Ciao, Brainjar

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    262
    si infatti,il codice univoco è proprio quello che visualizzo in textID.text,però la query non mi funziona; o meglio funziona ma mi esce una message box che mi dice tipo di dato non corrispondente

  6. #6
    Utente di HTML.it L'avatar di Brainjar
    Registrato dal
    Nov 2004
    Messaggi
    1,162
    Se il codice è di tipo numerico, la query deve essere :
    codice:
    strQuery = "Select *" _ 
    & " From tAnagrafica" _ 
    & " Where NomeAzienda= '" & Combo1.Text & "' AND ID= " & TxtID.Text
    Però questo codice lo riempi 'dopo' la ricerca, mentre con la query
    così impostata, ti servirebbe prima.

    Come riempi la combo ? Posta questa parte di codice, perchè e qui
    la chiave di tutto.

    Ciao,
    Ciao, Brainjar

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    262
    Ti posto il codice di come riempio la combo:
    Call Esegui_Query("SELECT * FROM tAnagrafica WHERE " & StrQryFiltro & " ORDER BY " & strOrdina & " ")

    While Not AdoRs.EOF
    Combo1.AddItem (AdoRs!NomeAzienda)
    AdoRs.MoveNext
    Wend

    Set AdoRs = Nothing

  8. #8
    Utente di HTML.it L'avatar di Brainjar
    Registrato dal
    Nov 2004
    Messaggi
    1,162
    Bene, posto che l'ID è numerico, il caricamento della combo impostalo
    così .
    codice:
    While Not AdoRs.EOF 
      Combo1.AddItem (AdoRs!NomeAzienda) 
      Combo1.ItemData(Combo1.NewIndex) = (AdoRs!ID.value)
      AdoRs.MoveNext 
    Wend
    Poi modifica la costruzione della query così :

    codice:
    strQuery = "Select *" _ 
    & " From tAnagrafica" _ 
    & " Where NomeAzienda= '" & Combo1.Text & "' AND ID= " & Combo1.ItemData(Combo1.ListIndex)
    Così ogni elemento della combo conterrà le due informazioni
    necessarie per eseguire la query.

    Ciao,
    Ciao, Brainjar

  9. #9
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    262
    Scusami tanto il campo ID è chiave primaria e non numerico ma di tipo contatore. E' lo stesso? Perchè con la penultima query che mi hai passato il campo txtID.text non funziona,per caso devo mettere la funziona val?
    Grazie
    Molto gentile

  10. #10
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    262
    oleeeeeeeeeeeeeeeeeeeeeeee
    Grazie funziona.......ma sei proprio in gamba,mi hai risolto un grosso problema.
    Però ti chiedo una cosa,mi potresti spiegare quello che hai fatto nel caricamento della combo,vorrei se possibile cercare di capire

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.