Access

martedì 22 agosto 2006 - 12.20

crily Profilo | Newbie

ciao.
Ho creato una query che per essere eseguita chiede all'utente di
inserire due nomi...il tutto voglio metterla in una maschera.alla query
ho già detto i campi della maschera che dovrà considerare....ma come
faccio a farla funzionare?cosa devo scrivere in vba?
i risultati li vorrei in un elenco
GRazie

bartjsp Profilo | Newbie

Non sapendo se hai strutturato bene i campi nella query da passare alla maschera, ti faccio un esempio completo, che potrebbe servire anche per coloro che sono agli inizi:

Struttura della Query che chiamerò "Q_autenticazione":
nei criteri del campo login metto: [form]![m_autenticazione]![login]
nei criteri del campo password metto: [form]![m_autenticazione]![password]

Struttura della Maschera che chiamo "m_autenticazione":
Creo due campi di tipo string, che chiamo appunto, uno "login" e l'altro "password", creo anche un pulsante che chiamo "entra".

A questo non rimane che scrivere un po' di codice per il pulsante entra, vai nelle proprietà del pulsante e inserisci il seguente script:

Private Sub entra_Click()
If DCount("*", "Q_autenticazione") = 1 Then
DoCmd.OpenForm "indice"
DoCmd.Close acForm, "m_autenticazione", acSaveNo
DoCmd.SetWarnings False
Else
MsgBox "Accesso negato.", vbOKOnly + vbCritical, "Errore autenticazione"
Me.utente.Value = ""
Me.pass.Value = ""
Me.utente.SetFocus
End If
End Sub

A questo il pannello di autenticazione è pronto.

Legenda di alcuni metodi:
Dcount("*", "nome_query") = effettua il conteggio di record
SetWarings = serve a disattivare i messaggi di access
SetFocus = porta il cursore nel campo richiesto


Spero di essere stato chiaro nella spiegazione, in caso ci sia qualcosa di poco chiaro mi trovate sempre ui.

ciao.

crily Profilo | Newbie

perfetto grazie mille

bartjsp Profilo | Newbie

Di nulla.

Mi sono accorto solo ora di avere fatto un'errore, correggi:

Me.utente.Value = ""
Me.pass.Value = ""
Me.utente.SetFocus

con:

Me.login.Value = ""
Me.password.Value = ""
Me.login.SetFocus

Nella fretta di scrivere ho dimenticato a cambiare i nomi dei campi.

Ciao.
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5