Newsgroup: it.comp.lang.visual-basic
Titolo: Problema di accesso ai dati...

 Di nuovo salve a tutti  voi del newsgroup mi dite dove sbaglio?
 If Adodc1.Recordset.EOF  Then GoTo errore Else
Adodc1.Recordset.MoveNext
errore:
If MsgBox("Hai raggiunto l'ultimo Record ne vuoi aggiungere un altro?",
vbYesNo, "Fine Record") = vbYes Then Adodc1.Recordset.AddNew
Text1(0).SetFocus
Command1(4).Visible = True
Else
Adodc1.Recordset.Cancel
Come si evince dal codice io ho un pulsante che mi serve per spostarmi tra i
record e se arrivo alla fine del file il prog mi avverte e mi chiede se
voglio aggiungere un nuovo record. ok? Se però metto il codice in questa
forma lui mi da un errore a runtime di "Else Senza blocco If" ma se ometto l
'else lui qualsiasi cosa si risponda alla msgbox aggiunge un nuovo record.
Come devo fare? O Meglio dov'è l'errore?
 Secondo problema quando il prog. Mostra l'ultimo record intendo già
impegnato per vb quello è EOF. vi spiego ho 5 record scritti, vorrei che lui
mi tirasse fuori questo messaggio quando cerco di spostarmi sul sesto record
(che  è vuoto) e non quando mi sposto sul quinto, che è sì l'ultimo ma è
scritto. mi spiego? Grazie a tutti quanti e scusatemi.
 CIAO!!!!

 scritto. mi spiego? Grazie a tutti quanti e scusatemi.
Eof è vero solo sul 6o
ciao
ugo

> Di nuovo salve a tutti  voi del newsgroup mi dite dove sbaglio?
Metti il codice cosě:
 If Adodc1.Recordset.EOF  Then
    GoTo errore
Else
    Adodc1.Recordset.MoveNext
End If
 errore:
 If MsgBox("Hai raggiunto l'ultimo Record ne vuoi aggiungere un altro?",vbYesNo, "Fine Record") = vbYes Then
    Adodc1.Recordset.AddNew    'Questo č un blocco
    Text1(0).SetFocus
    Command1(4).Visible = True
Else                                            'Qui finisce il blocco di prima e ne inizia un altro
    Adodc1.Recordset.Cancel
 End If                                        'Qui temrina l'istruzione If
 _________________________________
1) Allora...se non vai a capo quando fai un If...Vb pensa che tu abbia messo solo un istruzione:
If a>b then Ciao=a  'esempio
In questo caso non č necesario mettere End If poichč non hai aperto un blocco (concetto che si vede meglio in C)
ma se dai + di un istruzione ..cioč cosi:
If a>b then
    Ciao=a
    b=Ciao
end if
Tu cosě hai aperto un blocco perchč č necessario svolgere due istruzioni dentro l' IF. Cosě devi dirgli quando finisce il Blocco con
l'istruzione End IF.
________________________________________
2) Usa le indentature (cioč le tabulazioni e i rientri per leggere meglio il codice e capire quali istruzioni fanno parte del
blocco)
________________________________________
3) Premi F1 e guardati bene la sintassi di IF- Then- End IF ecc... (else compreso) :)
Ciao SIMO
--
__________________
www.sasim.cjb.net

per il secondo problema........non controllare solo EOF......
ma fai il controllo sia su BOF che sua EOF........quando *entrambi* sono a
True, allora vuol dire che sei uscito dal recordset, e non semplicemente che
sei posizionato sull'ultimo........capito?
per il primo problema, secondo me ti conviene chiudere il primo If (quello
più esterno),
mettendo un bel End If prima di iniziare il blocco Errore:
prova.....e fammi sapere.......ok?
Ciao....e good coding (soprattutto nel tuo caso!!)
--
Damiani Liborio Igor
idam...@hotmail.com
 - 
igor.d...@light.it
http://www.igordamiani.it
ICQ : 11847262

Beh innanzitutto non vedo la chiusura dell'if con
end if seconda cosa usare il goto per una cosa
del genere è veramente brutto anche se io non sono
un purista.
                                                                danilo