Sincronizzazione

di il
6 risposte

Sincronizzazione

Buon giorno a tutti,
sono di nuovo qui a chiedere consiglio, dunque, la mia idea e questa:
Ho una tabella "Veicoli" dove riporto PkVeicolo, marca modello ecc ecc
una Tabella "Rifornimento con data rifornimento, tipo carburante, spesa..... e ovviamente KsVeicolo
le due tabelle con associazione uno a molti dove nel lato molti ho i rifornimenti.

Mi occorrerebbe avere la possibilità di selezionare un veicolo da un elenco dgv e visualizzarlo (questo è stato risolto) dopodiché ho due strade:
La prima e avere sullo stesso form i controlli txt ecc relativi al rifornimento per l'aggiunta dei dati relativi ai rifornimenti tramite btn nuovoRifornimento
La seconda strada è aprire un secondo form dove aggiungo i suddetti dati rifornimento.
Le due strade sono pressoché indifferente utilizzabili ma qui viene il problema, non riesco a capire come collegare le due tabelle senza dover per forza utilizzare ad esempio una combo per riportare il Pk Veicolo in Ks Veicolo, qualcuno potrebbe darmi qualche dritta???

Ovviamente non mi permetterei mai di chiedere un codice già fatto sarebbe inutile soprattutto ai fini didattici che mi sto proponendo e poco rispettoso nei confronti di tutti ma se qualcuno potesse darmi una mano a capire ne sari molto felice.

Grazie e attendo eventuali consigli

6 Risposte

  • Re: Sincronizzazione

    DalexTo ha scritto:


    Le due strade sono pressoché indifferente utilizzabili ma qui viene il problema, non riesco a capire come collegare le due tabelle senza dover per forza utilizzare ad esempio una combo per riportare il Pk Veicolo in Ks Veicolo, qualcuno potrebbe darmi qualche dritta???
    Grazie e attendo eventuali consigli
    Perdonami ma non capisco:
    se non hai problemi (come scritto) a selezionare da un DataGridView il tipo di veicolo, avrai pure il valore della chiave primaria da riportare nella tabella rifornimenti.
    Cosa non ti riesce nello specifico? E poi cosa c'entra la ComboBox?
  • Re: Sincronizzazione

    Grazie per la risposta max,
    il problema che riscontro e questo:
    mi occorrerebbe poter inserire volta per volta i dati nel lato molti senza dover per forza inserire manualmente il valore della chiave secondaria, mi spiego:
    selezioni il veicolo X dal data grid view
    in corrispondenza di questo dato devo poter inserire ad esempio un nuovo rifornimento inserendo la chiave primaria del veicolo in corrispondenza ovviamente della chiave secondaria facendolo in automatico, ad esempio utilizzando un btn salva riferito ai dati rifornimenti

    PS: non so come inserirti qui uno screenshot della form per semplificare il tutto... sorry


    Grazie ancora
  • Re: Sincronizzazione

    DalexTo ha scritto:


    Grazie per la risposta max,
    in corrispondenza di questo dato devo poter inserire ad esempio un nuovo rifornimento inserendo la chiave primaria del veicolo in corrispondenza ovviamente della chiave secondaria facendolo in automatico, ad esempio utilizzando un btn salva riferito ai dati rifornimenti
    Ho capito, ma che cos'è che non riesci a fare? Memorizzare il valore della chiave primaria per i veicoli?
    Un Button richiama solo un gestore di eventi nel quale devi inserire del codice.
    Il tuo problema qual'è inserire una nuova riga o passare i valori con i quali dovrà essere popolata?
  • Re: Sincronizzazione

    Esatto.......
    devo passare il valore della chiave primaria in veicoli alla chiave secondaria o esterna in rifornimenti
  • Re: Sincronizzazione

    Mi spiego meglio......
    facendo un esempio dovrei ottenere un funzionamento tipo... "acces" con una sottomaschera:
    In access potevo inserire ad esempio dalla maschera il veicolo senza alcun rifornimento ed in un secondo tempo potevo selezionare un veicolo specifico dalla maschera principale ed inserire in sottomaschera il rifornimento.
    in questo caso se andavo a vedere i dati nella tabella rifornimenti notavo che:
    l'id rifornimento essendo in autoincrement era inserito e l' IdVeicolo(chiave secondaria in rifornimenti) veniva inserito automaticamente.
    Avrei risolto caricando una combo sul for rifornimenti che mi riporta l'elenco dei veicoli con il loro rispettivo id da inserire in tabella rifornimenti ma mi sembra poco elegante.
    Ora mi verrebbe in mente magari di utilizzare una " select ... insert into ma sinceramente non ho ben capito come funziona
  • Re: Sincronizzazione

    .Net non è Access e anche sugli oggetti di tipo RAD si potrebbe discutere all'infinito (mio personalissimo parere).
    Premesso ciò, per recuperare l'id della tabella veicoli e supponendo sia un valore di tipo int:
    int PKVeicolo=(int)dgv.CurrentRow.Cells[0].Value; //Si presume sia nella colonna 0
    Poi, per aggiungere una nuova riga considerando che il DGV sia bindato ad un DataTable:
    DataRow r; r = DataTableRifornimenti.NewRow(); r[0]=PKVeicolo; r[1]=txtDescrizione.text; ecc...
    DataTableRifornimenti.Rows.Add(r); DataTableRifornimenti.AcceptChanges();
    
    Ovviamente non conoscendo il tuo programma non so aggiungere altro.
Devi accedere o registrarti per scrivere nel forum
6 risposte