Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    [VB6]combo.text in query

    Salve a tutti!
    Ho già fatto molte ricerche nel forum ma non ho trovato soluzione forse perché sono troppo agli inizi. Comunque sarei curiosa di sapere come si risolve questo problema.
    Ho una serie di combobox in successione (nell'esempio ho messo il caso delle prime due). Il valore selezionato nella prima (cmb1),inserito in una query, mi dà un elenco di valori che verranno visualizzati nella seconda(cmb2).
    Con il codice che ho scritto sotto ottengo la visualizzazione di tutti i valori in cmb1 (campo1/tabella1) e in cmb2(campo 2/tabella2) senza nessun filtro.
    Ho provato in tutti i modi ad inserire il cmb1.text nella seconda query ma non ottengo risultato. Le due tabelle sono legate tra loro tramite una terza tabella quindi ho pensato di dover fare una JOIN ma non scrivo niente dei miei tentativi che sono assolutamente ridicoli...
    Mi potreste scrivere come si fa, poi io adatterò il codice al mio caso specifico.
    codice:
    Private Sub Form_Load()
    
    Set Db = OpenDatabase("percorso \nomeDatabase .mdb")
        Set TbA = Db.OpenRecordset("SELECT DISTINCT campo1  FROM tabella1")
        Do Until TbA.EOF
        cmb1.AddItem TbA![campo1 ]
        TbA.MoveNext
        Loop
        TbA.Close
        
        
        Set TbB = Db.OpenRecordset("SELECT DISTINCT campo2  FROM tabella2 ")
        Do Until TbB.EOF
        cmb2.AddItem TbB![campo2 ]
        TbB.MoveNext
        Loop
        TbB.Close
        
        
    End Sub

  2. #2
    Set TbB = Db.OpenRecordset("SELECT DISTINCT campo2 FROM tabella2 WHERE campo1 = '" & cmb2.text & "')"
    Do Until TbB.EOF
    cmb2.AddItem TbB![campo2 ]
    TbB.MoveNext
    Loop
    TbB.Close

  3. #3
    Ti ringrazio per la risposta ma mi dà errore:

    Errore di compilazionerevisto separatore di elenco oppure)

    PS. e la JOIN come la devo fare?

  4. #4
    Utente di HTML.it L'avatar di x69asterix
    Registrato dal
    Jan 2005
    Messaggi
    1,303
    Originariamente inviato da raffaeu
    Set TbB = Db.OpenRecordset("SELECT DISTINCT campo2 FROM tabella2 WHERE campo1 = '" & cmb2.text & "')"
    Do Until TbB.EOF
    cmb2.AddItem TbB![campo2 ]
    TbB.MoveNext
    Loop
    TbB.Close

    prova cosi:


    Set TbB = Db.OpenRecordset("SELECT DISTINCT campo2 FROM tabella2 WHERE campo1 = '" & cmb2.text & "'")

  5. #5
    Mi dice:
    errore di run-time 424: necessario oggetto.

    e comunque
    codice:
    ("SELECT DISTINCT campo2 FROM tabella2 WHERE campo1 = '" & cmb2.text & "')"
    come fa la query che serve a riempire la combo cmb2 ad usare il valore della proprietà text della stessa cmb2 come parametro per la clausola WHERE?

  6. #6
    Utente di HTML.it L'avatar di x69asterix
    Registrato dal
    Jan 2005
    Messaggi
    1,303
    Originariamente inviato da vicky
    Mi dice:
    errore di run-time 424: necessario oggetto.

    e comunque
    codice:
    ("SELECT DISTINCT campo2 FROM tabella2 WHERE campo1 = '" & cmb2.text & "')"
    come fa la query che serve a riempire la combo cmb2 ad usare il valore della proprietà text della stessa cmb2 come parametro per la clausola WHERE?

    Public Cn1 As New ADODB.Connection
    Public Rs1 As New ADODB.Recordset

    Private Sub Form_Activate()


    With Cn1
    .ConnectionString = "Provider = Microsoft.Jet.OleDB.4.0;" & _
    "Data Source =" & App.Path & "\nome.mdb"

    .ConnectionTimeout = 5
    .CursorLocation = adUseClient
    .Mode = adModeShareDenyNone
    .Open
    End With

    With Rs1
    .ActiveConnection = Cn1
    .LockType = adLockOptimistic
    End With
    Rs1.Open "SELECT * FROM nometabella WHERE data= '" & Form1.DTPicker1 & "'"
    Set DataGrid1.DataSource = Rs1

    bisogna inserire tra i riferimenti microsoft activex

  7. #7
    VVoVe:

    Il codice che mi hai scritto dove lo devo mettere? (Prima di quello che avevo scritto io?)
    Sono in difficoltà con la query perché non capisco come adattarla al mio caso. Ad es. quando scrivi

    data= '" & Form1.DTPicker1 & "'" io cosa devo mettere?


  8. #8

  9. #9
    Utente di HTML.it L'avatar di x69asterix
    Registrato dal
    Jan 2005
    Messaggi
    1,303
    Originariamente inviato da vicky
    VVoVe:

    Il codice che mi hai scritto dove lo devo mettere? (Prima di quello che avevo scritto io?)
    Sono in difficoltà con la query perché non capisco come adattarla al mio caso. Ad es. quando scrivi

    data= '" & Form1.DTPicker1 & "'" io cosa devo mettere?

    ilcampo = '" & cmb1.text & "'" io cosa devo mettere?

  10. #10
    Utente di HTML.it L'avatar di x69asterix
    Registrato dal
    Jan 2005
    Messaggi
    1,303
    Originariamente inviato da x69asterix
    ilcampo = '" & cmb1.text & "'"

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.