PDA

Visualizza la versione completa : Pulsante Access in VB


Pierluca
28-11-2002, 14:34
Saluti a tutti, sono un neofita del VB ed non riesco a risolvere un problema; spero che qualche anima pia riesca ad aiutarmi.
Da una maschera cliccando su un pulsante si apre una seconda maschera i cui dati vengono presi da una query (qryPerMacchiatori); questi dati appaiono solo se il campo Centro_det della query soddisfa la seguente condizione impostata nel criterio:Like [Forms]![Mrichiestacodfil]![Testo2]; qualora questa condizione non venga soddisfatta mi dovrebbe apparire un messaggio che indichi che non esistono record per questo tipologia invece mi appare una maschera vuota con i colori degli sfondi senza dati.
Allego un listato di cio' che dovrei riuscire a fare:

Private Sub Comando231_Click()
On Error GoTo Err_Comando231_Click
Dim stDocName As String
Dim stLinkCriteria As String
In questo punto dovrei mettere una if che se nella query il valore del campo centro_det non c'e' mi dovrebbe fare apparire una msgbox con messaggio di errore altrimenti dovrebbe continuare con i comandi sottostanti facendomi vedere la maschera con i dati completi:
stDocName = "Mvededati170"
stLinkCriteria = "[Centro_det]=" & "'" & Me![Centro_det]
& "'"
DoCmd.OpenForm stDocName, , , stLinkCriteria
Exit_Comando231_Click:

allejo
28-11-2002, 15:26
Devi dichiarare un record connessa a una Select

per controllare se i record sono presenti possibile fare questo controllo

if record.eof and record.bof then

allejo
28-11-2002, 15:27
Devi dichiarare un record connessa a una Select

per controllare se i record sono presenti possibile fare questo controllo

if record.eof and record.bof then
msgbox "Record inesistenti"
end if

francesco53
02-12-2002, 16:03
Caro Allejo ti ringrazio per la soluzione, ma ora ho un altro problema, come si definisce la Select:
il recordset che uso una query che si chiama qryPerMacchiatori, il campo che devo interrogare centro_det
il mio listato il seguente:

Dim DBOUT As Database
Dim qryPerMacchiatori As Recordset
Dim Sc_dati As Recordset

Set DBOUT = DBEngine(0).OpenDatabase(NomeDB("Sc_dati"))
Set Sc_dati = DBOUT.OpenRecordset("Sc_dati")
Set qryPerMacchiatori = DBOUT.OpenRecordset("qryPerMacchiatori")
Dove devo definire il record e come si esplica la select?????
Ti alego anche la tua risposta cosi forse capirai meglio
if record.eof and record.bof then
msgbox "Record inesistenti"
end if
Invio il messaggio come Francesco53 mentre in precedenza ho usato l'acronimo di mio figlio che Pierluca

allejo
03-12-2002, 13:26
Ma perch non usi l'ADO

e poi fai una query

strsql="select * ........."

e fai la connessione al db.

Loading