Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    [VB6] inserire records e registrarli come una singola entita'

    Non capisco come posso creare dei documenti del tipo fattura contenente piu' record provenienti da un controllo DATA1.
    Mi spiego meglio:creare articoli,categorie,aggiungere ed eliminare record da controlli data ok...ci sono arrivato ma quando devo emettere un documento es fattura in uscita vorrei che questa venisse registrata nel database in tale modo da poterla richiamare poi.....
    In particolare non comprendo come posso inserire piu' record nel documento e registrarlo come una singola entita'.
    Non so se mi sono spiegato bene ma spero che qualcuno possa fornirrmi qualche indizio....
    GRAZIE. :master:

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Non e' solo un problema di programmazione ma di organizzazione del database (e di normalizzazione).

    In maniera semplicistica, devi avere piu' tabelle.

    In una inserisci il record di "testata" con le informazioni generali della fattura e un ID univoco di riferimento.

    In un'altra tabella inserisci le singole linee di dettaglio avendo cura di inserire l'ID della testata in ogni record delle linee di dettaglio.

    In seguito, con delle query con JOIN, leggi quello che ti serve.

  3. #3

    [VB6] inserire records e registrarli come una singola entita'

    Capisco bene il discorso dell'intestazione e delle tabelle differenziate per una prima archiviazione dei dati come fonti per successive compilazioni di documenti ma :

    Facciamo un'esempio:
    Ho caricato in tab diverse, articoli, categorie , intestazioni fatture ecc...apro la mia bella form e comincio a inviare articoli ad un datagrid che mi informa del contenuto attuale della mia fattura.....
    ora, sempicemente , se gli articoli sono ovviamente piu' di uno nel datagrid vengono visualizzate 3,4 10 righe conetneti i dati di riferimento.....OK.....ora viene la parte che mi serve capire....

    Quando faccio click su SALVA voglio che il contenuto del datagrid che ovviamente chiama in causa DATA, venga salvato come entita' cioe' come:
    01 | FATTURA | 13/03/06 | EFFE.srl |
    e poi attravero un'altra form e datagrid che io la possa visualizzare o richiamare come es sopra per avere i dettagli della stessa.
    A naso mi viene da pensare a una specie di sottodatagrid o qualcosa del genere. SCUSA se il msg. è un po' lungo non potevo essere piu' sintetico.

    :master:

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Non c'e' problema per il messaggio lungo ma il problema e' che non e' chiaro ...

    Che vuol dire "salvato come entita'" ...?

  5. #5

    [VB6] inserire records e registrarli come una singola entita'

    ...per entita' intendo dire (forse impropriamente visto che ignoro la soluzione)che non concepisco come affrontare questo fatto: (provo a descriverlo graficamente)

    Invio articoli ad un DATA1
    id01|hard disk|maxtor|80GB|45,00|1
    id02|hard disk|maxtor|40GB|25,00|2
    id03|hard disk|maxtor|60GB|59,00|6
    ecc....il datagrid assegnato mostra i dati sopra....ok...

    ora, quando faccio click su "salva come fattura" vorrei che questi dati venissero raggruppati in un'unica voce
    id01|01|fattura|13/06/06|repsol s.r.l.|

    questa cosa mi permettera' di avere in un datagrid di riferimento l'elenco di tutti i movimenti merce o quello che sia...riapribili e consultabili in ogni momento...
    id01|01|fattura|13/06/06|repsol s.r.l.|
    id02|02|fattura|18/07/06|propoli s.p.a.|
    id03|03|fattura|21/08/06|block system s.a.s.|

    poi clikkando "APRI" ad esempio 01|fattura, otterro' il contenuto della fattura:
    id01|floppy|samsung|1,44|9,00|5
    id02|dvdrw|lg|16x52x bianco|35,00|1
    id03|accessori|posso|portacd 25|13,00|2
    ecc...
    fammi sapere se sono riuscito a farmi capire un po' meglio....
    :master:

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Se ho capito, vuoi raggruppare tutte le righe di dettaglio di una fattura e salvarle come se fosse una sola riga ...

    Ma se e' cosi', stai sbagliando approccio.

    Tu devi salvare le singole righe, una per una, come ti dicevo in una tabella dettaglio, collegandole con un ID univoco ad una tabella testata della fattura. Ovvero, se hai una fattura

    ID 01 PincoPallinoSrl 01/01/2006

    inserisci i dati precedenti in una tabella Testata e le righe della fattura

    ID 01 Art 01 hard disk maxtor 80GB 45,00 1
    ID 01 Art 02 hard disk maxtor 40GB 25,00 2
    ID 01 Art 03 hard disk maxtor 60GB 59,00 6

    le salvi con lo stesso ID della testata della fattura all'interno della tabella Dettaglio. Ovviamente il tutto all'interno di una esplicita transazione.

    Quando vuoi rileggere i dati, operi con una JOIN. Come fanno *tutti* i programmi simili.

  7. #7

    [VB6] inserire records e registrarli come una singola entita'

    Bene ho capito, quindi tutte le righe comunque fanno parte di una stessa tabella e vengono pero' accomunate dall'ID che puo' essere anche il n° della fattura....

    La funzione JOIN l'ho vista in access, ma in VB?

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Per essere chiari ... tutte le righe del dettaglio vanno in una tabella ... la riga della testata va in un'altra tabella.

    La JOIN e' da usarsi in una frase SELECT.

    In VB si utilizza una libreria di accesso ai dati (DAO o ADO ... meglio quest'ultima ...) tramite la quale si fa eseguire la frase SQL al motore del DB ...

  9. #9

    [VB6] inserire records e registrarli come una singola entita'

    acc...io sto usando controlli DATA e non ADO.....devo cambiarli tutti in ADO?

  10. #10
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Non e' che *devi* usare ADO ma e' *meglio* usare ADO perche' DAO, come ti dicevo, e' praticamente abbandonato ...

    Fra l'altro, sia con DAO che con ADO, e' *preferibile* non usare i controlli ma il modello ad oggetti ...

    La query SQL puo' essere eseguita anche con DAO ...

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.