Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    271

    Inserire il contenuto di una select in una ListBox

    Questo è il mio codice:
    select fa quello che deve fare è cioè memorizza l'id della combo
    selezionata.
    Problema: io voglio visulizzare il contenuto dei campi Marca e Modello dopo la select (vedi Select) ma non ci riesco.Io li voglio visulizzare in una listBox.Un'altra cosa è corretto mettere
    il codice in questo evento Private Sub cmbStrumento_LostFocus()?




    Private Sub cmbStrumento_LostFocus()
    Dim collStrumento As New Collection
    Dim dbConn As New ADODB.Connection
    Dim dbRec As New ADODB.Recordset
    Dim strConnectionString As String
    Dim strSQL As String
    g_strConnectionString = "maia"
    dbConn.ConnectionString = g_strConnectionString
    dbConn.Open
    dbRec.Open "Strumenti", dbConn, adOpenForwardOnly, adLockOptimistic, -1
    Dim index
    While Not dbRec.EOF
    cmbStrumento.ItemData(index) = dbRec("ID_Strumento")
    index = index + 1
    dbRec.MoveNext
    Wend

    Dim strumento As String
    strumento = cmbStrumento.ItemData(cmbStrumento.ListIndex)
    strSQL = "SELECT Marca,Modello FROM SchedaStrumento WHERE ID_STRUMENTO='" & strumento & "'"


    DoEvents
    dbConn.Execute (strSQL)

    dbRec.Close
    Set dbRec = Nothing
    dbConn.Close
    Set dbConn = Nothing
    End Sub

  2. #2
    Utente bannato
    Registrato dal
    Apr 2002
    Messaggi
    546
    non devi usare ItemData, ma .............
    List1.AddItem tuavariabile
    nel listato dovrebbe essere.........
    cmbStrumento.AddItem dbRec("ID_Strumento")

    link
    homepage
    http://%77%77%77%2e%74%77%6f%72%6b%2e%69%74/
    software
    http://%77%77%77%2e%74%77%6f%72%6b%2...programmi.html
    forum
    http://%77%77%77%2e%74%77%6f%72%6b%2...um/default.asp

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    271
    Il mio problema è questo:

    strSQL = "SELECT Marca,Modello FROM SchedaStrumento WHERE ID_STRUMENTO='" & strumento & "'"

    qui è giusto in strumento strumento mi va a prendere in tabella
    Scheda Strumento L'ID_Strumento della combo selezionata.

    Il mio problema è questo:
    a video in una listbox o in qualsiasi altra cosa vorrei vedere
    strSQL = "SELECT Marca,Modello cioè il risultato della della select,
    io ho provato a fare questo, non so perchè mi dà questo errore forse
    non lo inserisco nel punto giusto?O è sbagliato proprio il codice?

    Dim iMarca,iModello As String
    iMarca= dbRec("Marca") ---> Mi da errore mi dice tipo non corrispondente
    iModello= dbRec ("Modello")
    lstStr.AddItem iMarca
    lstStru.AddItem iModello

  4. #4
    Utente bannato
    Registrato dal
    Apr 2002
    Messaggi
    546
    dbRec("Marca") probabile che marca è numerico.........allora prova
    dbRec(Marca)

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    271
    Adesso mi si apre e lo posso vedere a video questo perchè dovevo
    aprire un altro record quello di scheda strumento
    Problema:adesso vedo a video marca e modello ma non quello della
    select mi stampa sempre il primo che ho inserito come posso fare?


    Private Sub cmbStrumento_LostFocus()
    Dim collStrumento As New Collection
    Dim dbConn As New ADODB.Connection
    Dim dbRec As New ADODB.Recordset
    Dim dbRecord As New ADODB.Recordset
    Dim strConnectionString As String
    Dim strSQL As String
    g_strConnectionString = "maia"
    dbConn.ConnectionString = g_strConnectionString
    dbConn.Open
    dbRec.Open "Strumenti", dbConn, adOpenForwardOnly, adLockOptimistic, -1
    Dim index
    While Not dbRec.EOF
    cmbStrumento.ItemData(index) = dbRec("ID_Strumento")
    index = index + 1
    dbRec.MoveNext
    Wend

    Dim strumento As String
    strumento = cmbStrumento.ItemData(cmbStrumento.ListIndex)
    strSQL = "SELECT Marca,Modello FROM SchedaStrumento WHERE ID_STRUMENTO='" & strumento & "'"


    DoEvents
    dbConn.Execute (strSQL)
    dbRecord.Open "SchedaStrumento", dbConn, adOpenForwardOnly, adLockOptimistic, -1
    Dim iMarca, iModello As String
    iMarca = dbRecord("Marca")
    iModello = dbRecord("Modello")
    lstStru.AddItem iMarca
    lstStru.AddItem iModello
    dbRecord.Close
    dbRec.Close
    Set dbRecord = Nothing
    Set dbRec = Nothing
    dbConn.Close
    Set dbConn = Nothing
    End Sub

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    271
    strSQL = "SELECT Marca,Modello FROM SchedaStrumento WHERE ID_STRUMENTO='" & strumento & "'"

    Voglio solo precisare una cosa la select è giusta ho controllato
    ho visto quello che mi memorizza in strumento

  7. #7
    Non dovevi aprire un altro recordset....

    Dim strumento As String
    strumento = cmbStrumento.ItemData(cmbStrumento.ListIndex)
    strSQL = "SELECT Marca,Modello FROM SchedaStrumento WHERE ID_STRUMENTO='" & strumento & "'"


    DoEvents
    dbConn.Execute (strSQL)
    il problema è che quando esegui Execute devi assegnarlo a qualcosa!!!
    quindi :

    set dbRecord=dbConn.Execute (strSql).

    col comando:
    rsRecord.open "SchedaStrumenti"
    tu apri la tabella così com'è, quindi ti prende il primo.

    L'errore che dicevi prima è dovuto sempre alla mancanza di
    Set dbRecord=dbConn.Execute (strSql).

    Quindi la select che dici è giusta, xò non la usi....

  8. #8

  9. #9
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    271
    SI FUNZIONA:
    mi dici solo come faccio a bloccare il ciclo e cioè,
    che mi scriva nella list box più volte gli stessi record.
    Cioè quando seleziono il valore della combo, quando lo riseleziono vorrei che non mi andasse pìù un'altra volta a rimettere i dati

  10. #10
    usa il metodo Clear della listbox che ti cancella il contenuto prima di rifare l'inserimento, così avrai i valori una sola volta.


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.