Funzione DLookUp utilizzata in maschera (valore casella di testo)

di il
12 risposte

Funzione DLookUp utilizzata in maschera (valore casella di testo)

Buonasera a tutti, come da titolo, ho un nuovo tipo di problema: assegnare il valore di una query ad un'etichetta presente in una maschera.

La query, denominata "SommaFPagate_Q" si basa su una tabella dove vi sono una serie di informazioni. Prevede però la somma di un campo di tipo Valuta denominato "Totale" filtrato da un campo di tipo si/no denominato "Pagata" dove applico il criterio "vero".

Vorrei a questo punto assegnare ad un etichetta,presente in una maschera, il valore che restituisce la query ma è evidente, sarà anche l'orario, che qualcosa mi sfugge...

questo è il valore che assegno all'etichetta: =DLookUp("Totale";"SommaFPagate_Q";"Pagata='vero'")

il risultato,per la mia gratitudine è: #Nome?

12 Risposte

  • Re: Funzione DLookUp utilizzata in maschera (valore casella di testo)

    Dubito sia un'etichetta... semmai una casella di testo.
    Il problema è la condizione o criterio... vero non lo capisce.
    Metti [-1] al posto di VERO... oppure TRUE... ma togli gli Apicetti non è un campo testo ma booleano.
  • Re: Funzione DLookUp utilizzata in maschera (valore casella di testo)

    Buongiorno Alex, ti ringrazio per la risposta.

    Purtroppo sostituendo il valore "VERO" sia con "TRUE" (togliendo gli apici come da te suggerito) che con [-1] la casella di testo mi restituisce #Errore

    Ho giustamente, come da te segnalato, modificato il titolo così nel caso di risoluzione altri utenti possono prendere spunto dalla discussione
  • Re: Funzione DLookUp utilizzata in maschera (valore casella di testo)

    Se, il campo è [Si/No] o Booleano, la sintassi corretta sarebbe:
    
    =DLookUp("Totale";"SommaFPagate_Q";"Pagata=-1")
    Se questo non va, il problema non è la sintassi...!
  • Re: Funzione DLookUp utilizzata in maschera (valore casella di testo)

    Ciao Alex, purtroppo il risultato della query resta lo stesso...

    Posto la query, avrò esposto male la problematica...
    La query si chiama SommaFPagate_Q
    SELECT Sum(Fatture.Totale) AS SommaDiTotale, Fatture.Pagata
    FROM Fatture
    GROUP BY Fatture.Pagata
    HAVING (((Fatture.Pagata)=True));
    
    possono essere utili altre sfumature che magari possono influire sul buon esito?
    Per ricapitolare, il codice (funzione DLookUp) è inserito all'interno di una casella di testo in una maschera
  • Re: Funzione DLookUp utilizzata in maschera (valore casella di testo)

    Scusa ma se già la Query contiene il Criterio PAGATE=TRUE... perchè devi inserirlo anche nel DLOOKUP...?
  • Re: Funzione DLookUp utilizzata in maschera (valore casella di testo)

    Credevo bisognava riprodurre le condizioni della query, dopo l'intervento ho provato ad eliminare il criterio (true) dal DLOOKUP ma il risultato è questo: ?
    In pratica, in una maschera, voglio riportare in delle caselle di testo, la somma degli importi delle fatture emesse quindi la somma degli importi totale, il totale pagato ed il totale da saldare.
    Vorrei evitare di inserire una serie di sottomaschere che renderebbe il db più pesante...
  • Re: Funzione DLookUp utilizzata in maschera (valore casella di testo)

    Ma non fai prima a fare un DSUM(con i criteri...?) ovviamente avrai le stesse difficoltà ma così funziona assolutamente in quanto ho provato:
    
    =DSUM("Totale";"Fatture";"Pagate=-1")
    Attenzione solo al [;] o alla [,] come separatore di parametri in quanto a sconda di dove lo scrivi devi sostituirli... se usi il VBA serve la VIRGOLA se usi il Generatore di Espressioni il PUNTOVIRGOLA.
  • Re: Funzione DLookUp utilizzata in maschera (valore casella di testo)

    Buondì Alex, purtroppo e non riesco a capire il motivo, mi da ancora errore...

    ho provato ad aggirare quindi il problema utilizzando vba ma nulla, davvero non ne vengo a capo
    Private Sub Form_Load()
    
        Dim varpagate As Integer
        varpagate = DSum("[Totale]", "Fatture", "[Pagata] = [-1]")
        
        SommaPagate_Etichetta = varpagate
        
    End Sub
    la casella di testo, in questo caso, risulta vuota
  • Re: Funzione DLookUp utilizzata in maschera (valore casella di testo)

    Mi pare ci siano più errori che lettere nel tuo tentativo...!
    Le parentesi QUADRE...? Non si mettono...
    Altra cosa a mio avviso errata è la definizione della variabile [varpagate]... che ha 2 errori, uno tecnico funzionale ed uno logico convenzionale.
    1° Una variabile definita INTEGER per la somma di valuta significa perdere i decimali ed avere un limite a 65535 [€]
    2° definire una variabiel come [varpagate] significa che la variabile è di tipo [VAR]variant... la prima parte definisce il TIPO...
    Ultimo è che se vuoi assegnare un valore di solito si usa un controllo TETXBOX non un etichetta... e se proprio usi un Etichetta devi usarla BENE.

    Quindi fossi in te proverei a correggere così
    
    Private Sub Form_Load()
    
        Dim curPagate As Currency
        curPagate = DSum("[Totale]", "Fatture", "[Pagata] = -1")
       
        Me!SommaPagate_Etichetta.Caption = curPagate 
       
    End Sub
  • Re: Funzione DLookUp utilizzata in maschera (valore casella di testo)

    Rieccomi, purtroppo nel titolo avevo corretto che si trattava di textbox ma non avevo modificato ancora il nome dell'oggetto nella maschera.
    (Mi scuso poichè mi rendo conto che la cosa possa diventare pesante)

    Ho modificato il nome della textbox in "SommaPagate_textbox" e modificato il codice da te segnalatomi
    Private Sub Form_Load()
    
        Dim curPagate As Currency
        curPagate = DSum("[Totale]", "Fatture", "[Pagata] = -1")
       
        Me![b]SommaPagate_textbox[/b].Caption = curPagate
       
    End Sub
    "Mi segnala : errore di run-time '438'
    Proprietà o metodo non supportati dall'oggetto"...ormai davvero non so venirne a capo..
    In tutti i casi, grazie infinite per il tempo dedicatomi
  • Re: Funzione DLookUp utilizzata in maschera (valore casella di testo)

    Le TextBox non hanno la proprietà CAPTION, ma VALUE.
  • Re: Funzione DLookUp utilizzata in maschera (valore casella di testo)

    Problema risolto e funziona tutto perfettamente.
    Grazie infinite, buona giornata Alex!
Devi accedere o registrarti per scrivere nel forum
12 risposte