Newsgroup: it.comp.lang.visual-basic
Titolo: Errore ADO

Salve a tutti.
Sono un neofita di VB e sto cominciando ora a fare i promi progetti.
Mi ritrovo con un errore che non riesco a capire da cosa sia dovuto :
mediante la procedura guidata di VB6 ho creato un progetto con
conseguente .exe che funziona e mi serve per connettermi ad un sistema
AS400 per prelevare dati.
Ho provato a creare un'altro progetto sempre nella stessa maniera ma
cambiando il TIPO DI ASSOCIAZIONE nella creazione guidata del form
DATI, utilizzando Codice ADO funziona,, utilizzando Controllo ADO Data
all'atto di creazione del file .exe mi viene segnalato questo errore:
Tipo definito dall'utente non definito
e viene evidenziata la seguente  istruzione nel codice del form:
Private Sub datPrimaryRS_MoveComplete(ByVal adReason As
ADODB.EventReasonEnum, ByVal pError As ADODB.Error, adStatus As
ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset
Vorrei capire quali sono le differenze tra i due metodi e cosa devo
"definire".
Scusate per il linguaggio poco VB.
Grazie
Per rispondermi togli NOSPAM dall'indirizzo
tudro...@tin.it

 ha scritto nel messaggio
news:6pbl7t46svsvhln2h...@4ax.com...



OK !!  Grazie per l'aiuto.
Vorrei però chiederti un'altra cosa :
nella lista Riferimenti mi trovo tre voci simili 
Microsoft ActiveX Data Objects 2.0
Microsoft ActiveX Data Objects 2.1
Microsoft ActiveX Data Objects 2.5
ma il progetto funziona solo slezionando la 2.0 mentre selezionanado
le altre mi esce
La dichiarazione della routine non corrisponde alla descrizione
dell'evento o della routine con lo stesso nome.
Le varie versioni di ADO vengono installate assieme ai prodotti
microsoft ?
Perchè mi funziona con quella meno recente ?
Scusa il disturbo ma vorrei cominciare a capire e non solo smanettare.
GRAZIE


Si, ho verificato anch'io l'errore e ho trovato questo:
PSS ID Number: Q222145
Article last modified on 10-19-2000
:2.1,2.5,2.6,6.0
======================================================================
----------------------------------------------------------------------------
---
The information in this article applies to:
 - ActiveX Data Objects (ADO), versions 2.1, 2.5, 2.6
- Microsoft Visual Basic Professional and Enterprise Editions for Windows,
version 6.0
----------------------------------------------------------------------------
---
SYMPTOMS
========
If you are using the ADO Data Control events in a Visual Basic 6.0 project
and
you reference ADO 2.1 or later, the following compile error occurs:
   Compile Error:
  Procedure declaration does not match description of event or procedure
having
  the same name.
The following ADO Data Control Events generate the error if used:
EndOfRecordset
FieldChangeComplete
MoveComplete
RecordChangeComplete
RecordsetChangeComplete
WillChangeField
WillChangeRecord
WillChangeRecordset
WillMove
The above events all use the ADODB.Recordset parameter within the
declaration.
For example: The ADO Data Control event WillMove declaration is:
   Private Sub Adodc1_WillMove(ByVal adReason As ADODB.EventReasonEnum,
adStatus As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset
NOTE: If no ADO Data Control events are used in the project, no errors will
occur.
CAUSE
=====
The interfaces in ADO 2.1 and later have been changed from ADO 2.0. There is
no
issue with interface changes unless a control is compiled using an older
version
of ADO. This is the case with the ADO data control. See the "More
Information"
section for details.
RESOLUTION
==========
To make the ADO Data Control events work with ADO 2.1 or later, the
declaration
of the event has to be changed to include:
   ADODB.Recordset20
  Private Sub Adodc1_WillMove(ByVal adReason As ADODB.EventReasonEnum,
adStatus As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset20)
Please note that the "20" that has been added to ADODB.Recordset in the
pRecordset argument.
Ciao
Basty
