Condividi tramite

DLookUp #Nome?

Anonimo
2017-05-18T10:31:27+00:00

Ciao ragazzi,

mi sto scervellando per trovare un errore.

Ho una tabella [dati generali] in cui sono presenti dei dati anagrafici di alcuni iscritti, ogni dato ha una sua chiave testuale

Ho una maschera per la vendita dei buoni in cui con una combobox [cbxRicercaBambinoBuoniPasto] scelgo uno degli iscritti e mi viene riportata la sua chiave per popolare la tabella sottostante la maschera dei buoni pasto.

In questa maschera vorrei visualizzare il nome, il cognome e altre info provenienti dalla tabella dati generali e ho pensato al DLookUp

Scrivo questo:

=DLookUp("[nome bambino]";"[dati generali]";"[ID_bambino] = ' " & [Maschere]![buoni_pasto]![cbxRicercaBambinoBuoniPasto] & " ' ")

ma mi spunta #Nome?

cerco aiuto, non riesco a venirne a capo in nessun modo

Grazie

Microsoft 365 e Office | Accesso | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

  1. Anonimo
    2017-05-18T20:53:34+00:00

    Ciao Francesco,

    Usando la proprietà Columb sembra che tutto funzioni :)

    grazie, sei stato utile!

    [....]

    prego, bene ma anche la dlookup deve funzionare, se non funziona sbagli qualcosa.

    Le funzioni di aggregazione sui domini non piacciono tanto e nel tuo caso la proprietà column ti semplifica il lavoro.

    [....]

    Questo perche il conteggio parte da 0?

    [....]

    la proprietà column è 0 based.

    per dubbi come questi appoggiati alla guida in linea:

    Apri il VBE digita nella finestra immediata column e sposta il cursore all'interno della proprietà, premi il tasto funzione F1, da access 2010 ottieni ( vedi parte in grassetto) :

    Guida di riferimento per sviluppatori di Access
    Control.Column, proprietà<br><br>Mostra<br> tutto<br><br><br>Nascondi tutto

    È possibile utilizzare la proprietà Column per fare riferimento a una determinata colonna (colonna: Posizione in una tabella di database in cui viene memorizzato un particolare tipo di dati. È anche la rappresentazione visiva di un campo in un foglio dati e, in un database di Access, la griglia di struttura delle query o dei filtri.) o a una combinazione di colonna e riga contenute in una casella combinata (casella combinata: Controllo utilizzato in una maschera per fornire le funzionalità combinate di una casella di riepilogo e di una casella di testo. È possibile digitare un valore o fare clic sul controllo per visualizzare un elenco e selezionarne una delle voci.) o casella di riepilogo (casella di riepilogo: Controllo che fornisce un elenco di scelte. Una casella di riepilogo è costituita da un elenco e da un'etichetta facoltativa.) a più colonne. Valore Variant in sola lettura.

    Sintassi

    espressione.Column(Index, Row)

    espressione   Variabile che rappresenta un oggetto Control.

    Parametri

    Nome Obbligatorio/Facoltativo Tipo di dati Descrizione
    Index Obbligatorio Long Numero intero Long compreso tra 0 e l'impostazione della proprietà ColumnCount meno 1.
    Row Facoltativo Variant Numero intero compreso tra 0 e l'impostazione della proprietà ListCount meno 1.

    Note

    Utilizzare 0 per fare riferimento alla prima colonna, 1 per fare riferimento alla seconda e così via. Utilizzare 0 per fare riferimento alla prima riga, 1 per fare riferimento alla seconda e così via. In una casella di riepilogo che include, ad esempio, una colonna con gli ID dei clienti e una colonna con i nomi dei clienti, è possibile fare riferimento al nome del cliente presente nella seconda colonna e nella quinta riga come indicato di seguito....[....]

    Da access>2010:

    https://msdn.microsoft.com/it-it/library/office/ff196440(v=office.15).aspx

    lo stesso.

    ciao!

    Sandro.

    La risposta è stata utile?

    1 persona ha trovato utile questa risposta.
    0 commenti Nessun commento

4 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2017-05-18T19:53:28+00:00

    Usando la proprietà Columb sembra che tutto funzioni :)

    grazie, sei stato utile!

    Però ho notato questo:

    le colonne nella cbx sono

    ID_bambino

    nome

    cognome

    data di nascita

    Gratuità

    per far apparire in una txt form il nome devo scegliere Column(1), per la Gratuità Column(5). 

    Questo perche il conteggio parte da 0?

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2017-05-18T16:22:38+00:00

    ciao Francesco,

    avrei bisogno di vedere ben il tuo DB anche una demo con qualche dato altrimenti tiro ad indovinare pensando di essere sulla strada giusta ed invece no, perché l'interpretazione che do non è quella che dai tu.

    Campi in tabelle queries, controlli in forms e report.

    L'origine dai della combo pare corretta e con id_bambino stringa va bene come lo hai gestito, ma se la colonna associata non è quella che vedi nella form potrebbe non essere corretta.

    semplicemente con : =[cbxRicercaBambinoBuoniPasto].column per quanto all'origine dati della textBox.

    In ogni caso si, abbandona la dlookup e passa alla proprietà column.

    Ciao, Sandro.

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2017-05-18T11:13:29+00:00

    ciao

    ID_bambino non è numerico perché viene creato come chiave concatenando alcune lettere del nome, del cognome, data di nascita e luogo di nascita. 

    La combobox è all'interno della maschera e ho proprio copia-incollato il nome prendendolo dalle proprietà.

    La formula ora è così:

    =DLookUp("[nome bambino]";"[dati generali]";"[ID_bambino] = ' " & [cbxRicercaBambinoBuoniPasto] & " ' ")

    Il campo resta vuoto indipendentemente da quale bambino vado a selezionare

    La combobox  riporta già come primo valore l'ID_bambino e la colonna ha larghezza 0, tu intendi abbandonare il dlookup e inserire nella un riferimento del tipo =[cbxRicercaBambinoBuoniPasto]![Column1]?

    Grazie

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2017-05-18T11:00:56+00:00

    ciao Francesco,

    a rigor di logica ID_bambino dovrebbe essere numerico quindi non dovrebbero servire gli apici, ma ci mancano un po' di info per esserne certi.

    In ogni caso l'errore è legato secondo me al nome del controllo [Maschere]![buoni_pasto]![cbxRicercaBambinoBuoniPasto] non digitato correttamente.

    Inoltre se il controllo è presente nella form stessa ti basta fare riferimento ad esso senza esplicitare la il nome della form ed i riferimento ad essa.

    Infine, visto che utilizzi una comboBox, sfrutta la proprietà column per mostrare il valore delle colonne associate al rowSource della combo stessa.

    Modica il predicato sql della combo in modo da estrarre tutte le colonne che ti servono, anche senza mostrarle, impostandone la larghezza della colonna a zero.

    Con la proprietà column popoli la textBox o le textBoxes di conseguenza.

    Ciao, Sandro.

    La risposta è stata utile?

    0 commenti Nessun commento