Aggiornamento campo form

di il
3 risposte

Aggiornamento campo form

Sto cercando di aggiornare automaticamente una casella di testo di una form creata sulla tabella Preventivi.
Inserendo la ragione sociale del cliente nella form il campo "margine" dovrebbe valorizzarsi automaticamente cercando il valore nella tabella Clienti.
Ho provato con:

=DLookUp("margine";"Cliente";"Ragione_sociale='" & [Maschere]![Preventivo]![ragione_sociale] & "'")

che mi restituisce l'errore #Tipo!
Consigli? grazie

3 Risposte

  • Re: Aggiornamento campo form

    Direi che RagioneSociale deve essere una casella combinata avente più colonne. Una di queste colonne deve essere Margine. Poi...non conosciamo dettagli specifici...ma in sostanza la casella di testo Margine deve essere "non associata" ad alcun campo ed avere una espressione simile a questa:
    =[RagioneSociale].Column(x)
    dove x è n-esima colonna (del tuo set di colonne) -1
  • Re: Aggiornamento campo form

    Grazie Osvaldo, ma non credo sia quello di cui ho bisogno. Queste sono le tabelle (ho cambiato alcuni nomi di campi):
    CLIENTE(id, nome, margine)
    PREVENTIVO(id, data, cliente.id, cliente.margine)
    Nella form ho una casella combinata da cui seleziono cliente.nome ma associo l'id.
    Nella casella margine della form invece vorrei mettere cliente.margine dove cliente.id=form_preventivo!cliente.id
    è una semplice select ma non so come scriverla sotto forma di espressione.
    Ho provato con =DLookUp([cliente]![margine];[cliente];[cliente]![ID]=[cliente]) ma mi da l'errore #Tipo!
    Grazie
  • Re: Aggiornamento campo form

    DavidE ha scritto:


    CLIENTE(id, nome, margine)
    PREVENTIVO(id, data, cliente.id, cliente.margine)
    1. Abituati a nominare al PLURALE le tabelle: Clienti, Preventivi.
    2. Dichiara esplicitamente i campi ID chiave, quindi IDCliente, IDPreventivo.
    3. Il campo cliente.margine devi eliminarlo.

    Il resto del tuo errore concettuale va da sè (non serve DLookup). La soluzione è quella che ti ho indicato io.
Devi accedere o registrarti per scrivere nel forum
3 risposte