Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

immissione dati obbligatoria

37 views
Skip to first unread message

giubio

unread,
Mar 24, 2009, 4:58:38 AM3/24/09
to
Un'altra piccola domandina, all'uscita di una scheda voglio che un
dato sia obbligatorio doverlo inserire
rendendolo tale dalla visualizzazione struttura della tabella
associata alla maschera di cui sopra, questo avviene ed esce il
messaggio di inserire il dato, solo che oltre a questo messaggio me ne
escono altri che mi indicano una serie di errori (tipo errore macro -
debug ecc).
C'è un metodo rapido che magari mi fa uscire un messaggio scritto da
me p.es. " è obbligatorio inserire la data di nascita"
GRAZIE 1000

CIDI

unread,
Mar 24, 2009, 6:43:21 AM3/24/09
to

"giubio" <giu...@gmail.com> ha scritto nel messaggio
news:8f5e713a-7a2f-4415...@e38g2000yqa.googlegroups.com...

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


giubio

unread,
Mar 24, 2009, 7:27:17 AM3/24/09
to
On 24 Mar, 11:43, "CIDI" <dadonz...@spamtin.it> wrote:
> "giubio" <giu...@gmail.com> ha scritto nel messaggionews:8f5e713a-7a2f-4415...@e38g2000yqa.googlegroups.com...
NNNOOONNN VVVAAA
che significa su evento..
ti dico quello che ho fatto:
sulla casella che voglio che sia obbligatoriamente aggiornata ho
scritto (su "prima di aggiornare"):

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

max

unread,
Mar 24, 2009, 7:29:45 AM3/24/09
to

"giubio" <giu...@gmail.com> ha scritto nel messaggio
news:be6467c1-a2b2-4ca4...@j8g2000yql.googlegroups.com...

Grazie Giuliano

devi scrivere il codice su prima di aggiornare della maschera non del
controllo

Private Sub Form_BeforeUpdate(Cancel As Integer)

giubio

unread,
Mar 24, 2009, 7:48:33 AM3/24/09
to
On 24 Mar, 12:29, "max" <pi...@pippo.it> wrote:
> "giubio" <giu...@gmail.com> ha scritto nel messaggionews:be6467c1-a2b2-4ca4...@j8g2000yql.googlegroups.com...

su dove non capisco.... sul tasto chiudi????

max

unread,
Mar 24, 2009, 10:41:46 AM3/24/09
to

"giubio" <giu...@gmail.com> ha scritto nel messaggio
news:8efc6579-30fd-4350...@e38g2000yqa.googlegroups.com...

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


giubio

unread,
Mar 24, 2009, 11:49:58 AM3/24/09
to
On 24 Mar, 15:41, "max" <pi...@pippo.it> wrote:
> "giubio" <giu...@gmail.com> ha scritto nel messaggionews:8efc6579-30fd-4350...@e38g2000yqa.googlegroups.com...

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

CIDI

unread,
Mar 24, 2009, 1:59:22 PM3/24/09
to

"giubio" <giu...@gmail.com> ha scritto nel messaggio
news:1b41b0a7-4c97-4c55...@o36g2000yqh.googlegroups.com...


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

giubio

unread,
Mar 25, 2009, 6:23:48 AM3/25/09
to
On 24 Mar, 18:59, "CIDI" <dadonz...@spamtin.it> wrote:
> "giubio" <giu...@gmail.com> ha scritto nel messaggionews:1b41b0a7-4c97-4c55...@o36g2000yqh.googlegroups.com...

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

CIDI

unread,
Mar 25, 2009, 9:07:50 AM3/25/09
to

"giubio" <giu...@gmail.com> ha scritto nel messaggio
news:c0db1c00-79f7-458a...@j38g2000yqa.googlegroups.com...

>
> 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

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


giubio

unread,
Mar 25, 2009, 11:46:54 AM3/25/09
to
On 25 Mar, 14:07, "CIDI" <dadonz...@spamtin.it> wrote:
> "giubio" <giu...@gmail.com> ha scritto nel messaggionews:c0db1c00-79f7-458a...@j38g2000yqa.googlegroups.com...

>
>
>
>
>
> > 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
>
> 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

CIDI

unread,
Mar 25, 2009, 12:14:09 PM3/25/09
to

"giubio" <giu...@gmail.com> ha scritto nel messaggio
news:47f42ed1-27b0-4a61...@v39g2000yqm.googlegroups.com...

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


giubio

unread,
Mar 26, 2009, 5:02:37 AM3/26/09
to
On 25 Mar, 17:14, "CIDI" <dadonz...@spamtin.it> wrote:
> "giubio" <giu...@gmail.com> ha scritto nel messaggionews:47f42ed1-27b0-4a61...@v39g2000yqm.googlegroups.com...
> screen. Il mio messenger è multimana...@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

giubio

unread,
Mar 26, 2009, 11:36:11 AM3/26/09
to

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

geppo

unread,
Mar 26, 2009, 7:55:42 PM3/26/09
to
Ciao "giubio" <giu...@gmail.com> ha scritto nel messaggio
news:23d7412f-cb97-4896...@w9g2000yqa.googlegroups.com...

On 26 Mar, 10:02, giubio <giu...@gmail.com> wrote:
---cut---

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:

http://www.4shared.com/

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


giubio

unread,
Mar 27, 2009, 7:42:33 AM3/27/09
to
On 27 Mar, 00:55, "geppo" <c...@tin.it.invalid> wrote:
> Ciao "giubio" <giu...@gmail.com> ha scritto nel messaggionews:23d7412f-cb97-4896...@w9g2000yqa.googlegroups.com...

ecco il mio database ONLINE
http://www.4shared.com/file/95262425/31591408/Clienti_Contatt8.html

chiunque mi vuole aiutare ......

IvanDaBologna

unread,
Mar 27, 2009, 10:11:51 AM3/27/09
to
giubio ha scritto:
peccato il formato acccdb se era in formato mdb ci davo un'occhiata .....

--
IvanDaBologna
-=-=-==--==-=-=-
sottOFFICEale - il mio blog
barbera del monferrato - il mio vino
carmen - la mia donna
non necessariamente nello stesso ordine

giubio

unread,
Oct 10, 2023, 2:12:36 PM10/10/23
to
Cidi, funziona, l'unica cosa che non va è che se chiudo la maschera posso sorpassare il problema di non aver popolato il dato, io voglio evitare che si possa chiudere la maschera se non si è popolato il campo. GRAZIE
0 new messages