Condividi tramite

#Errore su Dlookup

Anonimo
2010-09-11T15:53:48+00:00

Maschera non associata per la selezione dei reports memorizzati in una tabella tblReports.

tblReports:

idReports (contatore); NomeReports (testo); DescrizioneReports (testo)

Possiede una combo cboReports con questo Origine Riga:

SELECT tblReports.idReports, tblReports.NomeReports, tblReports.DescrizioneReports FROM tblReports ORDER BY tblReports.NomeReports;

Colonna associata: 2 (Stringa)

voglio sovrapporre alla combo una casella non associata che mi visualizzi con una Dlookup la descrizione del report invece del Nome.

Ma con questo Origine controllo nella textbox mi dà #Errore:

=DLookUp("DescrizioneReports";"tblReports";"NomeReports='" & nz([cboReports];"NULL"))

Dov'è l'errore?

Grazie in anticipo

Microsoft 365 e Office | Access | 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

Anonimo
2010-09-11T19:56:45+00:00

Ciao Avatar77,

L'errore consiste nel fatto che non hai chiuso con il delimitatore ' (apice) la costante letterale.

In questo modo chiudi la costante letterale


=DLookUp("DescrizioneReports";"tblReports";"NomeReports='" & nz([cboReports];"NULL") & "'")


però ha poco senso passare il valore testuale 'NULL'  se cboReports è NULL

Puoi fare semplicemente così


=DLookUp("DescrizioneReports";"tblReports";"NomeReports='" & [cboReports] & "'")


Se vuoi passare NULL quando cboReports è NULL allora fai così


=DLookUp("DescrizioneReports";"tblReports";"NomeReports=" & IIf(IsNull([cboReports]);"NULL";"'" &  [cboReports] & "'" ))


Ciao

Giorgio Rancati

La risposta è stata utile?

0 commenti Nessun commento

8 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2010-09-11T20:55:37+00:00

    >Puoi fare semplicemente così

    >=DLookUp("DescrizioneReports";"tblReports";"NomeReports='" & [cboReports] & "'")

    Cosi infatti è semplicemente perfetta, non avevo dubbi!! Grazie per la spiegazione, come al solito Giorgio!!

    Ma perchè se posiziono la casella di testo sopra la combo continuo a visualizzare il valore testuale di quest'ultima?

    Come faccio a mettere in evidenza la textbox?

    La risposta è stata utile?

    1 persona ha trovato utile questa risposta.
    0 commenti Nessun commento
  2. Anonimo
    2010-09-12T10:10:44+00:00

    La cosa che sto cercando di fare è di sovrapporre la textbox alla combo ma non riesco a trovare un evento per spostare il Focus sulla textbox appena impostato il valore dal menù a tendina della combo.

    Su Dopo Aggiornamento mi dà errore, su Uscita non mi è utile perchè dopo la selezione del valore, l'operatore deve premere un pulsante di OpenReport e non ha visualizzato la descrizione del Report selezionato. Ho pensato di mettere un pulsante accanto alla combo con una routine su click:

    Private Sub plsDesc_Click()

    Me!txtDescizioneReports.SetFocus

    End Sub

    ...anche se avrei preferito automatizzarlo. Altri suggerimenti?

    >elimina la casella testo e metti nella proprietà Larghezza colonne della combo

    >0 cm;0 cm;10 cm

    >In questo modo le prime due colonne rimangono invisibili.

    >Al posto di 10 cm metti la larghezza desiderata.

    Conosco questo metodo ma ho implementato un sistema dove nella combo devono esserci memorizzati i nomi dei report memorizzati in tabella quindi mi serve solo un "escamotage" :-) che a livello visuale aiuti l'operatore a capire meglio tramite la descrizione quale report sta per aprire!

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2010-09-11T21:48:52+00:00

    Forse dovresti spiegare cosa cerchi di fare.

    :-)

    Giorgio Rancati

    forse ho capito, vuoi selezionare il report per descrizione ?

    elimina la casella testo e metti nella proprietà Larghezza colonne della combo

    0 cm;0 cm;10 cm

    In questo modo le prime due colonne rimangono invisibili.

    Al posto di 10 cm metti la larghezza desiderata.

    Ciao

    Giorgio Rancati

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2010-09-11T21:33:44+00:00

    Ciao Avatar77,

    perchè la combo in quel momento è a fuoco, la casella testo viene mostrata quando la combo perde il fuoco quindi quando un altro controllo della maschera assume lo stato attivo.

    Forse dovresti spiegare cosa cerchi di fare.

    :-)

    Giorgio Rancati

    La risposta è stata utile?

    0 commenti Nessun commento