Newsgroup: it.comp.appl.access
Titolo: Problema

Salve,
ho una query che richiama dei valori da una tabella. Nei criteri ci uno dei
campi ho inserito quanto segue:
[Immettere il numero di targa:]
In questo modo mi compare una finestra di dialogo che mi chiede di inserire
il numero di targa della vettura che intendo visualizzare.
Se inserisco un numero di targa che non esiste mi viene visualizzata la
maschera vuota.
Si può evitare, evvertendo l'utente che il numero di targa immesso non
esiste e quindi invitarlo ad immettere di nuovo i dati?
Grazie ancora.
Alessandro


Una soluzione potrebbe essere questa.
Se la tua query si chiama Query1, la tabella su cui č basata si chiama VO e
il campo che contiene la targa si chiama Targa, nei criteri della query
scrivi:
[Forms]![Maschera1]![CercaTarga]
Creati una maschera non associata chiamata Maschera1 e contenete una casella
di testo non associata chiamata CercaTarga nella quale digiterai il numero
di targa cosě come fai ora nella finestra di dialogo di cui sopra.
A fronte dell'evento "Dopo aggiornamento" del controllo CercaTarga genera il
seguente codice VBA:
Private Sub CercaTarga_AfterUpdate()
If DCount("Targa", "VO", "Targa=" & Chr$(34) & CercaTarga & Chr$(34)) = 0
Then
    MsgBox "Targa inesistente"
    Me!CercaTarga = Null
    Me!CercaTarga.SetFocus
Else
    DoCmd.OpenQuery ("Query1")
End If
End Sub
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------

 wrote in message
2gBK6.7329$f52.2...@news.infostrada.it...



Sarebbe bene che rispondessi dopo e non prima dei messaggi precedenti.
Ho iniziato e uso tuttora Guida all'uso di Microsoft Access 97 edito dalla
Mondadori Informatica (esiste anche la versione Access 2000). C'è la
recensione nella Sezione Libri del Sito Comune, dove troverai anche altri
suggerimenti alternativi.
Naturalmente ho imparato molto dall'help, dal NG e dal Sito Comune.


Ho un problema di questo tipo:
Ho un database in access, dove la data è inserita in un campo numerico ( es.
20000512), e dovrei convertirla in campo data ( es. 12/05/2000).
Come posso fare?
Grazie

 ha scritto nel messaggio
news:FI5L6.4831$cU2.1...@news1.tin.it...

Se sei in una maschera ed il controllo che contiene 20000512 di chiama
Me!DataNumerica ed il risultato lo vuoi in un controllo di tipo Data/ora
chiamato DataData1, la trasformazione la puoi fare con la seguente riga di
codice VBA:
Me!DataData1 = DateSerial(Int(Me!DataNumerica / 10000), _
Int(Me!DataNumerica / 100) - Int(Me!DataNumerica / 10000) * 100, _
Me!DataNumerica - Int(Me!DataNumerica / 100) * 100)
oppure scrivendo nell'origine controllo di DataData1:
= DateSerial(Int(DataNumerica / 10000);  Int(DataNumerica / 100) -
Int(DataNumerica / 10000) * 100; DataNumerica - Int(DataNumerica / 100) *
100)
Se sei in una query, in una colonna vuota scrivi:
DataData1 = DateSerial(Int(DataNumerica / 10000);  Int(DataNumerica / 100) -
Int(DataNumerica / 10000) * 100; DataNumerica - Int(DataNumerica / 100) *
100)


 ha scritto nel messaggio
news:2gBK6.7329$f52.2...@news.infostrada.it...

Ciao Roberto,
purtroppo il codice che mi hai dato non genera quello che volevo.
Quando lo incollo in VB rimane in testo rosso il seguente codice:
If DCount("Targa", "VO", "Targa=" & Chr$(34) & CercaTarga & Chr$(34)) = 0
Then
Grazie mille
Alessandro


La parola Then, che vedi da sola a capo, devi scriverla a seguire, nella
stessa riga della If, lasciando uno spazio tra Then e 0.
A capo ce l'ha portata OE a causa della limitata dimensione della riga del
messaggio.
