+ Rispondi al messaggio
Visualizzazione dei risultati da 1 a 4 su 4

Problema Chiave Primaria

  1. #1
    Shark non è in linea Novello
    Ciao, [img]smileys/smiley32.gif[/img]
    ho già scritto un messaggio ma credo vi sia sembrato poco interessante.
    Per questo ve lo ripropongo in maniera più approfondita.
    Si tratta di una tabella elaborata da un gestionale, contenete gli ordini inseriti dall'azienda.
    Il gestionale è abbastanza limitato nelle sue possibilità così è necessario esportare i dati per analizzarli.
    Lo scopo è quello di rendere univoca ogni record del DB, cosa che attualmente non è.
    Per mantenere dei riferimenti con il gestionale sono costretto ad utilizzare il numero di ordine
    associato con la riga (che non è disponibile) e l'anno rende univoco ogni record e questa combinazione potrebbe essere chiave primaria del mio DB.
    Il db è di sola lettura quindi dovrei leggere i dati, ricavare il n° di riga e generare una nuova tabella con le nuove informazioni.

    Con excel ho usato la seguente formula che non riesco a riportare nel nuovo db Access [img]smileys/smiley7.gif[/img] [img]smileys/smiley7.gif[/img] [img]smileys/smiley7.gif[/img]

    =SE(D5=D4;E4+1;1) [img]smileys/smiley4.gif[/img]

    es.
    OrdineRiga
    1001
    1002
    1003
    1004
    1005
    1011
    1012
    1013
    1014
    1021
    1022
    1023
    1031


    Pensavo di creare una query che generasse questa tabella ma non riesco a "togliere il ragno dal buco" [img]smileys/smiley18.gif[/img] [img]smileys/smiley18.gif[/img]
    grazie in anticipo.
    [img]smileys/smiley17.gif[/img]
    ℹ️ Leggi di più su Shark ...

  2. #2
    L'avatar di dragone bianco
    dragone bianco non è in linea Certosino
    il numero ordine associato all'anno crea un univoco
    Associa i due valore con una query
    ES:
    Anno - Ordine - Codice
    2004 - 100 - 2004100
    2003 - 100 - 2003100

    [nomeTabella]![campo1] & [nomeTabella]![campo2]

    Se invece vuoi realizzare una struttura come il tuo esempio bisogna utilizzare VBA.
    ℹ️ Leggi di più su dragone bianco ...

  3. #3
    Shark non è in linea Novello
    Grazie per la tua risposta, ma l'esempio sintetizzava molto il db.
    Tieni presente che ogni ordine contiene più articoli per cui ogni numero di ordine si ripete per n volte quanti sono gli articoli in esso compresi, e ovviamente gli articoli e l'ordine appartengono tutti allo stesso anno in quanto inseriti nello stesso giorno. In sostanza il risultato dovrà essere:
    ARTICOLOQ.Tà CONSEGNA CLIENTE
    20041001 MATITA ROSSA5030-11-04 PIPPO
    20041002 MATITA ROSSA6030-12-04 PIPPO
    20041003 MATITA VERDE4015-11-04 PIPPO
    20041011 MATITA ROSSA1010-11-04 BIANCHI
    20041021 MATITA ROSSA1510-11-04 ROSSI

    A questo punto ti sarei grato se mi potessi dare gli input per studiare qualcosa di più approfondito con VBA.
    Qualcosa ho già cominciato a fare ma sono ancora agli inizzi, grazie per il tuo aiuto.



    ℹ️ Leggi di più su Shark ...

  4. #4
    L'avatar di dragone bianco
    dragone bianco non è in linea Certosino
    Dim DBCorrente as dao.database
    dim tabella as dao.recorset
    dim codice
    dim contatore as integer

    set dbcorrente=currentdb
    set Tabella=dbcorrente.openrecordset("nometabella)

    do while tabella.eof
    if tabella.filed(nomecampo)=codice then
    contatore=contatore+1
    else
    contatore=1
    end if

    codice=tabella.filed(nomecampo)

    tabella.edit
    tabella.filed(nomecampo1)= tabella.filed(nomecampo1) & contatore
    tabella.update

    tabella.movenext
    loop

    Tabella.close
    Dbcorrente.close

    Crea una query ordina i dati raggruppandoli come nell'esempio che mi hai fatto veder e crea il campo che unisce i 2 dati
    Spiegazione
    Apre la tua tabella
    Legge i dati campo per campo
    se il campo è ad una variabile (Codice)
    incrementa un contatore altrimenti il contatore =1
    La variabile = codice primario

    Modifica il tuo nuovo campo con il valore del contatore.
    Spero di essere stato chiaro.

    ℹ️ Leggi di più su dragone bianco ...

+ Rispondi al messaggio

Potrebbero interessarti anche ...

  1. Aggiornamento Chiave Primaria
    Da Maverick03 nel forum Visual Basic .Net
    Risposte: 8
    Ultimo Post: 23-04-2018, 13:29
  2. Problema con Chiave primaria calcolata
    Da Falco69 nel forum Microsoft Access
    Risposte: 21
    Ultimo Post: 09-02-2017, 10:29
  3. Chiave primaria semplice alfanumerica
    Da simop_075 nel forum Microsoft Access
    Risposte: 14
    Ultimo Post: 22-02-2016, 13:41
  4. chiave primaria
    Da raphael9999 nel forum Microsoft Access
    Risposte: 1
    Ultimo Post: 17-04-2015, 17:31
  5. Access creazione chiave primaria
    Da Squalo10 nel forum Microsoft Access
    Risposte: 4
    Ultimo Post: 28-02-2007, 14:37