Passaggio dati da una maschera ad un'altra con ricerca valore in database

Anonimo
2014-01-26T22:53:24+00:00

Ciao a tutti,

sto impazzendo con un problema banale, ma di cui non riesco  a venirne a capo.

Brevemente, ho due maschere, la prima chiamata login, è composta da due caselle di teste e da un pulsante.

Alla pressione del pulsante, c'è una routine di verifica dell'utente e a seguito di questa viene aperta la maschera "menu_principale" e chiusa login.

Ora tutto funziona, solo che mi serve che il nome utente venga riportato nella maschera "menu_principale", ma anziché usare il nome utente inserito nella form di autenticazione, dovrebbe comparire il nome di battesimo (nella tabella utenti, sono correttamente inseriti).

Il codice che uso per il pulsante della maschera Login è questo:

...

Dim X

      X = DLookup("[utente_nome]", "utenti", "[utente_sigla_gruppo]=" & Forms!login!utente)

      DoCmd.OpenForm "menu_principale"

      Forms!menu_principale!logedin = X

      DoCmd.Close acForm, "login", acSaveNo

dove: la tabella utenti si chiama "utenti" ed ha i campi:

-utente_nome (che dovrebbe comparire nella textbox di menu_principale)

-utente_sigla_gruppo (che sarebbero i nomi utenti con cui si loggano gli utenti)

Cosa sbaglio?

il debug mi dice sempre che l'errore restituito è il valore di  "Forms!login!utente" o di qualsiasi altra cosa che scrivo dopo "[utente_sigla_gruppo]="

(ho provato anche con

X = DLookup("[utente_nome]", "utenti", "[utente_sigla_gruppo]=pippo")

mi da errore e mi restituisce pippo!!!

mi sapete aiutare?

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
2014-01-27T00:05:38+00:00

Sembrerebbe un problema di apici,   

ci hai detto che il campo "utente_sigla_gruppo" della tabella rappresenta il nome con cui si loggano gli utenti,  pertanto e formato stringa.

Ne consegue che nel DLookUp il rispettivo valore va messo fra apici ......

[code]

Dim X As String

X = DLookup("[utente_nome]", "utenti", "[utente_sigla_gruppo]='" & Forms!login!utente**.Value** & "'")

DoCmd.OpenForm "menu_principale"

Forms!menu_principale!logedin**.Value** = X

DoCmd.Close acForm, "login", acSaveNo

[/code]

NB;  Anche pippo va messo fra apici in quanto testo

X = DLookup("[utente_nome]", "utenti", "[utente_sigla_gruppo]='pippo'")

PS:  Pero potresti fare solamente:

[code]

DoCmd.OpenForm "menu_principale"

Forms!menu_principale!logedin**.Value** = DLookup("[utente_nome]", "utenti", "[utente_sigla_gruppo]='" & Forms!login!utente**.Value** & "'")

DoCmd.Close acForm, "login", acSaveNo

[/code]

La risposta è stata utile?

0 commenti Nessun commento

1 risposta aggiuntiva

Ordina per: Più utili
  1. Anonimo
    2014-01-27T07:40:17+00:00

    Eh come immaginavo era un errore banale, ma si vede che la stanchezza e un pò di ruggine dopo parecchio tempo che non programmo, mi ha fatto cadere in errore!

    Ringrazio e confermo che così funziona tutto egreggiamente!

    La risposta è stata utile?

    0 commenti Nessun commento