Type incompatible sous vb6

cs_maciass Messages postés 44 Date d'inscription mercredi 13 février 2008 Statut Membre Dernière intervention 19 octobre 2009 - 12 avril 2008 à 02:03
cs_maciass Messages postés 44 Date d'inscription mercredi 13 février 2008 Statut Membre Dernière intervention 19 octobre 2009 - 3 mai 2008 à 22:03
slt svp qlq un peut m aider j ai le program suivant qui utilise une base de données et qui m affiche type incompatible lor de l execution
si vous pouvez m aider je serai tré reconnaissant
le programm es le suivant:

Private Sub Command1_Click()
On Error Resume Next
RDV.Recordset.Delete
RDV.Recordset.MoveNext
End Sub

Private Sub Form_Load()
HeureActuelle = Format(Time, "hh:mm")
End Sub

Private Sub Label6_Click()

End Sub

Private Sub RDV_Validate(Action As Integer, Save As Integer)

End Sub

Private Sub Timer1_Timer()
HeureActuelle = Format(Time, "hh:mm")
Dim MaBase As Database, MaTable As Recordset
Set MaBase = OpenDatabase( _
"C:\Documents and Settings\Administrateur\Mes documents\RDV.mdb")
Set MaTable = MaBase.OpenRecordset("RDV")
On Error Resume Next
MaTable.MoveFirst
Do Until MaTable.EOF
MaTable.EditIf Date MaTable("Date") And MaTable("Prévenir") True Then
 If Time >= DateAdd("n", -MaTable("Avant"), MaTable("Heure")) Then
  Beep
  Message = "Vous avez un rendez-vous dans " & MaTable(5) & _
  " minute(s)" & vbLf & "avec " & MaTable(0) & vbLf & _
  "à " & MaTable(1)
  MsgBox Message, vbInformation, "(-:) Rendez-vous (:-)"
  MaTable("Prévenir") = False
 End If
End If
MaTable.Update
If Date = MaTable("Date") And Time >= MaTable("Heure") Then
   MsgBox "Vous avez rendez-vous avec " & MaTable("Avec") & _
    " maintenant", vbCritical, "(-:) Rendez-vous (:-)"
   MaTable.Delete
End If
If MaTable("Date") < Date Then
   MaTable.Delete
End If
MaTable.MoveNext
Loop
RDV.Refresh
  
End Sub
 

j attend votr reponse et merci d avance

18 réponses

bricoyeye Messages postés 326 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 29 avril 2008 2
12 avril 2008 à 07:40
Salut,
Si tu disais à quelle ligne çà coince???
0
radcur Messages postés 282 Date d'inscription lundi 29 septembre 2003 Statut Membre Dernière intervention 15 août 2012 2
13 avril 2008 à 02:11
d'apres moi tu tentes de faire une opération de date sur un champ de la base qui n'est pas de type date.
0
cs_maciass Messages postés 44 Date d'inscription mercredi 13 février 2008 Statut Membre Dernière intervention 19 octobre 2009
13 avril 2008 à 22:59
non mai prkoi vous dites qu il n est pa de type date si vous voulez m aider je peux vous donner mon email pr vous envoyer le projet et le verifier vous mem
ok?
allé j attend votr rep et merci d avance.
0
jrivet Messages postés 7393 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
13 avril 2008 à 23:37
salut
commence par nous dire la ligne qui donne l'erreur comme le demande à juste titre [auteur/BRICOYEYE/491288.aspx bricoyeye]

@+: Ju£i?n
Pensez: Réponse acceptée
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_maciass Messages postés 44 Date d'inscription mercredi 13 février 2008 Statut Membre Dernière intervention 19 octobre 2009
14 avril 2008 à 23:50
la lige qui donne l erreur est la suivante:
"C:\Documents and Settings\Administrateur\Mes documents\RDV.mdb")
Set MaTable = MaBase.OpenRecordset("RDV")
c pas un problem de compatibilité entr l access que j ai et la version d access utilisée par le vb6?
ce n etai qu une "?" je sui pa un pro en vb(je vien de le commencer)
alors c a vous de voir biensur chers amis et amies
0
bricoyeye Messages postés 326 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 29 avril 2008 2
15 avril 2008 à 08:41
Salut,
La syntaxe est bonne, apparemment, ta table RDV existe elle bien dans ta base?
Quelle version d"access as tu?
0
cs_maciass Messages postés 44 Date d'inscription mercredi 13 février 2008 Statut Membre Dernière intervention 19 octobre 2009
16 avril 2008 à 00:18
slt bricoyeye j ai l access 2007 pr le moment.mai je l ai testé avec l access 2003 et ca n a pa marché.pouvez vous me dire quel acces es le + compatible avec le vb6 version francaise(peut etr le 97 ou le 2000?)
merci pr votre attention
j atten votre reponse
0
bricoyeye Messages postés 326 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 29 avril 2008 2
16 avril 2008 à 09:24
Salut,
Access 2003 marche trés bien.
Là tu est en ADO, donc tes variables sont mal indiquées:

Dim MaBase As DAO.Database
Dim MaTable As DAO.Recordset

Là, ça devrait marcher.
0
jrivet Messages postés 7393 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
16 avril 2008 à 09:46
Re,

>[auteur/BRICOYEYE/491288.aspx bricoyeye]"là tu est en ADO
, donc tes variables sont mal indiquées:"
: Ah non je ne pense pas . il est en DAO comme tu lui indiques dans les déclarations.

Il ferait d'ailleurs mieux, à mon sens de passer à ADO plutot que de continuer avec DAO

@+: Ju£i?n
Pensez: Réponse acceptée
0
bricoyeye Messages postés 326 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 29 avril 2008 2
17 avril 2008 à 06:20
Salut,

Ses déclarations de variables sont "Dim MaBase As Database", donc par defaut en ADO, mais ses codes sont en DAO, donc incompatible.

C'est sûr que l'ADO est mieux, mais il doit réadapter tous ses codes!!
0
jrivet Messages postés 7393 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
17 avril 2008 à 09:50
Salut,
Je persiste en disant qu'il est en DAO puisque à ma connaissance l'objet DataBase n'existe PAS en ADO

<hr size="2" width="100%" />@+: Ju£i?n
Pensez: Réponse
0
bricoyeye Messages postés 326 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 29 avril 2008 2
17 avril 2008 à 11:04
Salut,Jrivet
Comme dit dans mon poste un Recordset sans type est par défaut un recordset ADO, mais lui il est en DAO.
Ses codes:

Dim MaBase As DAO.Database
Dim MaTable As DAO.Recordset
Set MaBase = OpenDatabase("C:\Documents and Settings\Administrateur\Mes documents\RDV.mdb")
Set MaTable = MaBase.OpenRecordset("RDV", dbOpenDynaset)
0
jrivet Messages postés 7393 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
17 avril 2008 à 11:21
Salut,
Un recordset sera du type que tu as ajouté en référence... si tu n'ajoutes QUE DAO en référence il sera de type DAO (non?)

Tu penses qu'il a ajouter les deux références?

<hr size="2" width="100%" />@+: Ju£i?n
Pensez: Réponse
0
bricoyeye Messages postés 326 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 29 avril 2008 2
17 avril 2008 à 18:11
Salut,
Non il n'a pas mis de type:
Dim MaBase As Database, MaTable As Recordset
Donc là par defaut sans le type il est en ADO.
0
jrivet Messages postés 7393 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
17 avril 2008 à 18:17
Re,
Non Moi sur mon VB6 si tu n'ajoutes aucune références, il te sera impossible de déclarer une variable de type recordset (non?).  il te diras Variable ou Type utilisateur non défini (ou un truc du style car je n'ai pas VB sous la main)

Ou alors cela fait des années que je rajoutes des références pour rien...

<hr size="2" width="100%" />@+: Ju£i?n
Pensez: Réponse
0
cs_maciass Messages postés 44 Date d'inscription mercredi 13 février 2008 Statut Membre Dernière intervention 19 octobre 2009
18 avril 2008 à 03:52
slt j ai tenté ce que vous m avez di cher bricoyeye mais ca n a pa marché donc le jrivet avait raison .alor que pensez vous?
merci pour votr aide et votre serviabilité(bricoyeye, jrivet).
0
cs_maciass Messages postés 44 Date d'inscription mercredi 13 février 2008 Statut Membre Dernière intervention 19 octobre 2009
18 avril 2008 à 04:06
y a t il pas un moyen pr que je vous envoi mon projet pour voir si ca peut marcher sur votr machine et peut etr  que comm ca vous arriverez facilement a detecter l emplacement de l erreur.j atten votr rep.
j ai vraiment besoin de votr aide
merci et a bientot.
0
cs_maciass Messages postés 44 Date d'inscription mercredi 13 février 2008 Statut Membre Dernière intervention 19 octobre 2009
3 mai 2008 à 22:03
merci a bricoyeye c quelqu un de bien
0