Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1
    Utente di HTML.it L'avatar di danz67
    Registrato dal
    May 2005
    Messaggi
    213

    DELPHI 7 - DBlookuocombobox

    Salve a tutti,
    ho creato un'applicazione cosi composta:

    tabella clienti - campi, id cliente, cognome, nome;
    tabella assistenze - campi, id scheda, cliente, marca, modello;
    form arichivio clienti
    form cliente nuovo
    form archivio assistenze
    form assistenza nuova.

    Vorrei far in modo che quando vado a inserire una nuova assistenza
    possa scegliere dalla mia combobox, prontamente configurata, il cliente(precedentemente registrato nel form cliente nuovo,e poter visualizzare in modo associato, il campo cliente della tabella assistenze(corrispondente al campo cognome nella tabella clienti) nella tabella assistenze.

    Premetto che ho gia provato a relazionare i 2 campi dlle rispettive tabelle (db fatto in access) ma senza risultato.
    Ho anche configurato la combobox prelevando i dati list source dalla tabella clienti, list field cognome e keyfield cognome e nel datasource ho selezionato la tabella assistenze e field cliente.

    Dove sbaglio?
    Grazie.

  2. #2
    Al keyfield di list source devi assegnare il campo chiave della tabella cliente e no il cognome, per il resto dovrebbe essere ok, purtroppo non ho delphi sotto mano quindi non posso controllare.
    Ciao
    RS95

  3. #3
    Utente di HTML.it L'avatar di danz67
    Registrato dal
    May 2005
    Messaggi
    213
    Ho risolto il problema, grazie.

  4. #4
    Utente di HTML.it L'avatar di danz67
    Registrato dal
    May 2005
    Messaggi
    213
    Mi devo ricredere, perchè all'inizio sembrava funzionare tutto alla perfezione ma poi dopo un paio di inserimenti mi è spuntato un'errore.

    "Impossibile individuare la riga specificata per l'aggiornamento"


    Dove sbaglio?

  5. #5
    Utente di HTML.it L'avatar di danz67
    Registrato dal
    May 2005
    Messaggi
    213
    Perfavore aiutatemi, mi sono bloccato a questo ostacolo.

  6. #6
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,324
    Originariamente inviato da danz67
    "Impossibile individuare la riga specificata per l'aggiornamento"
    Dove sbaglio?
    Se usi i componenti dbGo for ADO, probabilmente devi modificare il tipo di cursore della tabella/query su Dynamic.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

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

  7. #7
    Utente di HTML.it L'avatar di danz67
    Registrato dal
    May 2005
    Messaggi
    213
    Originariamente inviato da alka
    Se usi i componenti dbGo for ADO, probabilmente devi modificare il tipo di cursore della tabella/query su Dynamic.
    Ho provato a modificare il cursore del componente ADOTable1 relativo alla tabella clienti ma senza risultato.
    Puoi cortesemente spiegarmi esattamente le impostazioni da effettuare nella combobox?
    Io ho fatto cosi:

    list source = DataModule1.DataSource1 (coll. alla tabella clienti)
    list field = cognome
    key field = cognome (ho provato anche sul campo id_cliente)

    datasource = DataModule3.DataSource1 (coll. alla tabella riparazioni)
    data field = cliente (che sarebbe il campo dove vorrei visualizzato il cognome)

    nelle due tabelle ho creato una relazione nei due campi con chiave primaria e dello stesso tipo (id_cliente + id_riparazione).

    Grazie infinite per la tua disponibilità, spero che potrai aiutarmi come hai fatto fino adesso. Ciao.

  8. #8
    Utente di HTML.it L'avatar di danz67
    Registrato dal
    May 2005
    Messaggi
    213
    Ho notato un'altra cosa, quando seleziono il tipo di cursore in "dynamic" la connessione del componente ADO si porta a false, rimetto in true e automaticamente il cursore si riporta in "sdtatic", quindi non mi consente di lasciarlo impostato come boglio.

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

    TDBLookupComboBox e proprietà per master/detail

    Purtroppo, nonostante le tue indicazioni siano abbastanza complete, non riesco ad avere un quadro totale della situazione in cui ti trovi con la tua applicazione.

    Comunque, vedo di darti qualche suggerimento in merito all'uso del controllo TDBLookupComboBox, che serve semplicemente per poter assegnare ad un campo (contenente l'ID di un record correlato in una tabella esterna) il valore chiave del record da associare, appartenente ad un altra tabella; il problema è che, generalmente, tale valore chiave non è particolarmente significativo, poiché nella maggior parte dei casi si tratterà di un ID numerico, quindi la casella di riepilogo permette di selezionare un ulteriore campo che rappresenta i valori da elencare.

    Facendo riferimento al controllo e alle sue proprietà, occorre assegnare a DataSource il componente TDataSource relativo alla tabella che contiene il record da modificare (ad esempio, "ASSISTENZE"); la proprietà DataField si riferisce al campo in cui verrà inserito il valore della chiave relativo al record nella tabella correlata che verrà selezionato (ad esempio, "IDCLIENTE").

    La proprietà ListSource consente di indicare alla casella di riepilogo da quale tabella prelevare i valori da elencare nella casella stessa per consentire la loro selezione da parte dell'utente...ma quali valori verranno elencati?

    Il controllo scandisce tutti i record della tabella ListSource (ad esempio, associata ad un DataSet che fa riferimento ad una tabella fisica "CLIENTI") e visualizza tanti elementi quanti sono i record, riportando come dicitura il contenuto del campo referenziato da ListField (ad esempio, "RAGIONESOCIALE"); quando l'utente seleziona un record specifico dalla casella di riepilogo, il valore del campo referenziato da KeyField per quel record verrà copiato nel campo DataField, di fatto costituendo l'associazione tra le due tabelle.

    Approfondisci l'argomento nella Guida in linea e ricerca informazioni in merito all'uso di meccanismi Master/Detail in Delphi.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

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

  10. #10
    Utente di HTML.it L'avatar di danz67
    Registrato dal
    May 2005
    Messaggi
    213
    Finalmente ho risolto definitivamente, bastava indicizzare solo il campo cognome della tabella dove prelevp i dati.

    Vorrei sapere inoltre, quale database mi consigli di usare per poter creare della applicazioni da distribuire. So che Access ha diversi limiti prestazionali e poi non so se è possibile fare un backup dell'archivio e poterlo richiamare in qualsiasi momento. Ho letto che per creare delle applicazioni server/client viene usato spesso Interbase, mi chiedevo se a questo punto mi conviene studiare bene questo tipo di database, per poterlo sfruttare in entrambi i casi, oppure mi riverso su altri tipi? Considera anche che quando distribuisco un'applicazione devo far in modo che una volta installato nel pc dell'utente non debba installare server particolari come MySql (difficili da configurare).
    Grazie infinite per la tua gentilezza, a presto Ciao.

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.