[ACCESS2007]Nuovo record con IDInserito

di il
3 risposte

[ACCESS2007]Nuovo record con IDInserito

Salve, ho un problemino con un database creato appunto in access.
Ho 2 tabelle, tblClineti e tblFattura(collegandole con IDCliente in tblFattuta), ho creato anche due maschere per inserire i dati, mscNuovoCliente e mscFattura. Nel momento in cui inserisco tutti i dati relativi al cliente clicco su un pulsante che apre la maschera mscFattura già posizionata in un nuovo record, come faccio a far inserire automaticamente l'IDCliente appena creato, per evitare all'utente finale di dover sceglierlo da un menù a tendina?

Ho provato con una macro, al click del pulsante fattura in mscNuovoCliente esegue anche un "esegui SQL" inserendo:

INSERT INTO tblFattura(IDcliente) VALUES ("cosa metto?")
Spero di aver espresso il problema in modo chiaro.
Grazie Anticipatamente

Saluti Satore11

3 Risposte

  • Re: [ACCESS2007]Nuovo record con IDInserito

    Ciao ipotizzando che IDCliente sia numerico e incrementale, ti basta trovare il massimo.
    Funzione: DMax(espr, dominio [, criteri] )
    nel tuo caso faresti: DMax(IDCliente, tblClienti)
    Non ho provato ma verifica se ti funziona qualcosa del genere:
    INSERT INTO tblFattura(IDcliente) VALUES (DMax(IDCliente, tblClienti))
    Ciao
  • Re: [ACCESS2007]Nuovo record con IDInserito

    Ciao,
    prima di tutto grazie mille per la risposta tempestiva,
    ho fatto qualche prova con l'istruzione SQL completata nel modo che mi hai suggerito solo che eseguendo la macro si apre una finestra di dialogo che dice "IDCliente" e il campo di testo per inserire l'ID, come posso fare?
    Avrai notato che sono alle prime armi.Ho fatto un'altra prova, nella macro, prima di eseguire l'istruzione SQL, ho provato a spostarmi sull'ultimo record con "eseguiComando" e "RecordVaiAUltimo", ma come specifico che mi riferisco alla tblClienti?
    Grazie sempre dell'aiuto.

    Saluti Satore11
  • Re: [ACCESS2007]Nuovo record con IDInserito

    Salve a tutti,
    Ho provato altre soluzioni che mi sono venute in mente aspettando qualche consiglio da voi più esperti, ho impostato al caricamento della maschera una macro che seleziona un nuovo record e nella casella interessata(IDCliente) ho inserito un espressione:
    
    Forma![mscCliente]![IDCliente]
    
    Sembrava funzionare, o almeno così mi e' sembrato, infatti riprovando mi da un errore riguardo una chiave che non può avere valore null.
    In pratica sono di nuovo al punto di partenza.
    Se a qualcuno viene qualcosa in mente ben venga. sono disposto a cambiare completamente strategia, se questo mi può portare alla soluzione.
    Grazie a tutti per l'attenzione e per le eventuali risposte.

    Saluti Satore11
Devi accedere o registrarti per scrivere nel forum
3 risposte