su evento prima di aggiornare:
If IsNull(me.tuonomecontrollo) Or me.tuonomecontrollo = "" Then
msgbox "è obbligatorio inserire la data di nascita"
cancel = true
me.tuonomecontrollo.setfocus
end if
Ciao
Daniele
Private Sub Archivio_BeforeUpdate(Cancel As Integer)
If IsNull(Me.Archivio) Or Me.Archivio = "" Then MsgBox "è obbligatorio
inserire la data di nascita"
Cancel = True
Me.Archivio.SetFocus
End Sub
e ovviamente non va. La scheda si chiude senza nessun errore .
Ti confermo che il campo Archivio è una casella combinata in cui ci
sono i valori che obbligatoriamente vanno inseriti
Grazie Giuliano
Grazie Giuliano
devi scrivere il codice su prima di aggiornare della maschera non del
controllo
Private Sub Form_BeforeUpdate(Cancel As Integer)
su dove non capisco.... sul tasto chiudi????
sulle maschere cosi come sui controlli c'è la possibilità di utilizzare
degli eventi per eseguire del codice.
Il codice devi inserirlo sull'evento before_update (prima di aggiornare)
della maschera.
Ciao
Max
Grazie Max, adesso ho trovato dove mettere il codice, ma il problema
nuovamente si ripropone
Provo a non mettere il dato, clicco su chiudi e mi esce
" è obbligatorio inserire la data di nascita" TUTTO BENE.... come
previsto - io clicco su OK ed aspettandomi di tornare nel record da
modificare, invece mi compare:
"Impossibile salvare il record in questo momento: E
possibile ...bla... bla... bla...La chiusura del''oggetto bla bla
bla... continuare? SI -NO" - se clicco Si non mi genera il record ed
esce dalla maschera; se clicco NO mi esce una maschera di errore che
riporta:
AZIONE NON RIUSCITA
Nome Macro = Dettagli contatto : cmdClose : OnClick : Macro
incorporata
Condizione = Vero
Nome Azione = Chiudi
Argomenti = ;;Prompt
DOPO DI CHE CLICCO SU "interrompi tutte le macro" e ritorno al record
Numero Errore = 2950
Che devo fare?? devo modificare qualche cosa?
Grazie giubio
Grazie Max, adesso ho trovato dove mettere il codice, ma il problema
nuovamente si ripropone
Provo a non mettere il dato, clicco su chiudi e mi esce
" è obbligatorio inserire la data di nascita" TUTTO BENE.... come
previsto - io clicco su OK ed aspettandomi di tornare nel record da
modificare, invece mi compare:
"Impossibile salvare il record in questo momento: E
possibile ...bla... bla... bla...La chiusura del''oggetto bla bla
bla... continuare? SI -NO" - se clicco Si non mi genera il record ed
esce dalla maschera; se clicco NO mi esce una maschera di errore che
riporta:
AZIONE NON RIUSCITA
Nome Macro = Dettagli contatto : cmdClose : OnClick : Macro
incorporata
Condizione = Vero
Nome Azione = Chiudi
Argomenti = ;;Prompt
DOPO DI CHE CLICCO SU "interrompi tutte le macro" e ritorno al record
Numero Errore = 2950
Che devo fare?? devo modificare qualche cosa?
ALT!!
chiariamo una cosa: stai usando una maschera per inserimento dati?
se SI fai quanto segue:
apri in struttura la maschera...
cerca il pulsante Proprietà (passa il mouse sui pulsanti)
oppure doppio clic nell'angolo a sx in alto della maschera in struttura...
clic su scheda Evento
cerca Dopo Aggiornamento (3 rigo)
clic sui punti a destra si aprirà l'editor di VBA
senza spostare il cursore, copia e incolla questo codice:
If IsNull(Me.Archivio) Or Me.Archivio = "" Then
MsgBox "è obbligatorio inserire la data di nascita"
Cancel = True
Me.Archivio.SetFocus
end if
fai sapere
Daniele
Non ho capito dove mettere il codice. Se provo a cliccare dove dici tu
(sarebbe General_Page) non mi da l'opzione Dopo aggiornamento ma solo
"su click" su "doppio click "ecc
insomma su proprietà c'è una finestra a tendina in cui si possono
selezionare le varie parti della scheda (maschera , notes, città ecc)
quale seleziono????
grazie 1000 giubio
Non ho capito dove mettere il codice. Se provo a cliccare dove dici tu
(sarebbe General_Page) non mi da l'opzione Dopo aggiornamento ma solo
"su click" su "doppio click "ecc
insomma su proprietą c'č una finestra a tendina in cui si possono
selezionare le varie parti della scheda (maschera , notes, cittą ecc)
quale seleziono????
grazie 1000 giubio
io invece non ho capito che versione di access hai?
e dove stai cercando di mettere il codice.... maschera, report, query ..ecc
fai sapere
Daniele
Ho access 2007, devo mettere il codice in una maschera, il mio
database è per la gestione dei clienti.
Ti manderei uno screen della mia videata se si potesse... ma da qui
non si può , se hai il messenger o altro dimmelo e ti mando gli
screen. Il mio messenger è multim...@hotmail.it
visto!
il riquadro di destra.....è giusto, però c'è selezionato dopo aggiornamento
devi selezionare Prima di Aggiornare...il rigo successivo.
clic sulla freccetta e scegli routine evento
poi clic sui puntini accanto e si aprirà l'editor di vba e vedrai:
Private Sub Form_BeforeUpdate(Cancel As Integer)
incolla il codice qua
End Sub
fai sapere
Daniele
Ho provato... ma ottengo sempre lo stesso errore che te lo riporto
Provo a non mettere il dato, clicco su chiudi e mi esce
" è obbligatorio inserire la data di nascita" TUTTO BENE.... come
previsto - io clicco su OK ed aspettandomi di tornare nel record da
modificare, invece mi compare:
"Impossibile salvare il record in questo momento: E
possibile ...bla... bla... bla...La chiusura del''oggetto bla bla
bla... continuare? SI -NO" - se clicco Si non mi genera il record ed
esce dalla maschera; se clicco NO mi esce una maschera di errore che
riporta:
AZIONE NON RIUSCITA
Nome Macro = Dettagli contatto : cmdClose : OnClick : Macro
incorporata
Condizione = Vero
Nome Azione = Chiudi
Argomenti = ;;Prompt
DOPO DI CHE CLICCO SU "interrompi tutte le macro" e ritorno al record
Numero Errore = 2950
????????
Vuoi che ti passo il database via messenger?
fammi sapere
insomma hai linux come S.O.??? da linux non riesci a leggere i db di
access??? non hai openoffice base??
leggo da un post....
*Per poter aprire il nostro database microsoft database con linux,
dobbiamo , aprire open office base, selezionare nuovo, dal menu file,
dopo, selezionare database, poi selezionare, collega ad un database
esistente, premere avanti, sfogliare e selezionare il database .mdb,
ancora avanti, poi si dà l’ok per registrare il database, ed in basso,
apri il database per la modifica, poi fine, si assegna un nome al
nuovo database ed è pronto per essere modificato.
io sono online
insomma hai linux come S.O.??? da linux non riesci a leggere i db di
access??? non hai openoffice base??
leggo da un post....
*Per poter aprire il nostro database microsoft database con linux,
dobbiamo , aprire open office base, selezionare nuovo, dal menu file,
dopo, selezionare database, poi selezionare, collega ad un database
esistente, premere avanti, sfogliare e selezionare il database .mdb,
ancora avanti, poi si dà l’ok per registrare il database, ed in basso,
apri il database per la modifica, poi fine, si assegna un nome al
nuovo database ed è pronto per essere modificato.
io sono online
io ti consiglio di crearti un account qui (disco remoto) è gratuito:
poi carichi il file zippato e posti il link da cui scaricarlo.
In questo modo chiunque ha voglia di aiutarti potrà farlo.
Comunque per evitare la chiusura del db con il metodo "close", io creerei
una function da inserire in un modulo standard che restituisca un valore
boolean, in modo tale da poterla testare all'occorrenza:
------------
function Obbligatori() as boolean
dim vCtl as controls
for each vCtl in Forms!NomeForm.Controls
if typeof vCtl is textbox then
if isnull(vCtl) or vCtl = "" then
msgbox"Inserire il dato in "&
vCtl.name,vbcritical,"Attenzione........"
vCtl.setfocus
vCtl.backcolor = vbred
obbligatori = true
end if
end if
next vCtl
end function
-------------
per cui testerei la function sotto il pulsante chiudi:
------------
Private sub NomeTuoPulsantedichiusura_click()
if Obbligatori = true then
docmd.close 'chiudi
end if
------------
e sotto l'evento unload della form:
-----------------
private sub form_unload(cancel integer)
If obbligatori = true then
Cancel = true
end if
end sub
-------------------
p.s.: chiaramente il tutto scritto al volo è da provare.
buonanotte
--
Ciao
Geppo
ecco il mio database ONLINE
http://www.4shared.com/file/95262425/31591408/Clienti_Contatt8.html
chiunque mi vuole aiutare ......
--
IvanDaBologna
-=-=-==--==-=-=-
sottOFFICEale - il mio blog
barbera del monferrato - il mio vino
carmen - la mia donna
non necessariamente nello stesso ordine