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

    [Vb6] Problemi con una query

    Salve a tutti.

    Premetto che non ho molta esperienza ma sono un autodidatta , quindi non fate se il problema che espongo può essere stupido.

    Ho la seguente situazione per un programma che sto realizzando:

    ho una tabella ,chiamata"capitolati", la cui chiave primaria è il campo(codice) ,
    poi ho un'altra tabella ,chiamata "voci_capitolato" , che fra i suoi campi ha
    quella relativa al suo codice( si chiama "codice") e quello relativo al codice capitolato
    a cui fa riferimento (il campo si chiama"cod_capitolato").

    Ora con una dbgrid (chiamata dbgrid_capitolati) ,collegata alla tabella "capitolati" tramite un
    datacontrol (denominato "db_capitolati") , permetto di far selezionare una riga corrispondente
    ad uno specifico capitolato e così in una dbgrid secondaria (denominata "dbgrid_voci_capitolato")
    elenco solo le voci legate al capitolato specificato nella dbgrid primaria ("dbgrid_capitolati) ,
    questa seconda dbgrid_voci_capitolato è legata alla query che viene fuori sulla tabella "voci_capitolato" tramite un datacontrol
    (denominato "db_voci")
    ecco di seguito il codice che uso:

    Private Sub DBGrid_capitolati_RowColChange(LastRow As Variant, ByVal LastCol As Integer)
    DBGrid_capitolati.Col = 0
    Text_cod_cap.Text = DBGrid_capitolati.Text
    comando = "select * from voci_capitolato where [cod_capitolato]= " + Text_cod_cap.Text + ";"
    db_voci.RecordSource = comando
    db_voci.Refresh
    End Sub
    a questo punto la dbgrid_voci_capitolato conterrà solo le voci di quel capitolato in quanto ho aggiornato il datacontrol db_voci.

    Adesso questa dbgrid_voci_capitolato (che esporrà solo il campo codice e descrizione) la voglio sfruttare in modo tale che ogni volta che
    su questa viene evidenziata una riga relativa ad una voce specifica posso evidenziare tutti i suoi campi in alcune textbox collegate
    al datacontrol (denominato "db_voci2") che punta sempre alla tabella "voci_capitolato".Quindi mentre il db_voci punta alla query
    sulla tabella "Voci_capitolato" , la db_voci2 punta all'intera tabella "voci_capitolato" (ho preferito fare così onde evitare conflitti tra
    i due datacontrol) , ecco il codice che uso (però mi da errore):

    Private Sub DBGrid_voci_RowColChange(LastRow As Variant, ByVal LastCol As Integer)
    DBGrid_voci.Col = 0
    valore = DBGrid_voci.Text
    db_voci2.Recordset.Index = "codice" (quì mi da errore)
    db_voci2.Recordset.Seek "=", valore
    End Sub

    Ho segnato come vedete la riga che genera l'errore e siccome il campo (codice) della tabella "voci_capitolato" è una chiave primaria
    il metodo index deve funzionare così come ha funzionato con altre tabelle , pertanto sono convinto che l'errore viene generato dal fatto
    che sulla tabella "voci_capitolato" viene generata una query per il db_voci e quindi anche se db_voci2 punta alla tabella intera questo crea problemi.

    Come posso ovviare a ciò , aiutatemi vi prego !!!!!!!!

  2. #2
    Risolto da solo !!!
    Grazie lo stesso a tutti.

  3. #3
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472

    Moderazione

    Originariamente inviato da mykael100
    Risolto da solo !!!
    Grazie lo stesso a tutti.
    Al di là del titolo eccessivamente generico che hai specificato, indicare la soluzione potrebbe essere un gesto carino verso tutti quegli utenti che dovessero trovarsi ad affrontare lo stesso problema in futuro. :master:
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  4. #4
    Giusto alka non ci avevo pensato , cmq senza essere troppo prolisso (perchè lo sono e lo ammetto) funziona correttamente usando un solo datacontrol db_voci dove in recordsource gli ho inserito la select ed a questo puntano sia la dbgrid che i textbox , in questo modo il dbgrid_voci_capitolato punta solamente a quelle righe della select e nello stesso tempo anche i textbox , inoltre posso aggiungere , modificare od eliminare record da db_voci normalmente in quanto questo viene riflesso di conseguenza sulla tabella globale(quella senza select , l'originaria insomma).

    Spero di essere stato esauriente.


  5. #5
    Utente di HTML.it L'avatar di Brainjar
    Registrato dal
    Nov 2004
    Messaggi
    1,162
    Vale la pena di 'ricordare' che molte volte è impossibile decifrare il codice su cui si chiede
    aiuto proprio per la mancata utilizzazione dei tag CODE. Mi sembra che una volta c'era
    una label (così come per i tag IMG, PHP... ) con su scritto CODE in chiaro. La Label c'è
    ancora ma presenta il simbolo '#' (cancelletto).
    Un codice non racchiuso tra i relativi tag risulta illegibile.
    Questo è un motivo per cui molti post di richiesta di aiuto vengono 'ignorati'.
    Ciao, Brainjar

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.