Ma base ne s'incremente plus...
mombolmax
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
j'ai une application vb de 1997 que j'ai modifié pour que ça marche sur MSO2010, tout à l'ai de bien fonctionné mais la base ne s'incremente plus à partir du 212eme enregistrement et je comprends pas pourquoi.
Ci-dessous une partie du code qui genere l'incrementation:
Function numsequence()
Dim mybase As DAO.Database, Total As Long
Dim table_order As DAO.Recordset, table_Ha As DAO.Recordset
Set mybase = Application.CurrentDb()
Set table_Ha = mybase.OpenRecordset("Achats")
Set table_order = mybase.OpenRecordset("ordre")
Total = table_Ha.RecordCount
If Total = 0 Then
numsequence = 1
n_order = 1
Else
table_Ha.MoveLast
numsequence = table_Ha![HA_num_ordre] + 1
n_order = table_Ha![HA_num_ordre] + 1
End If
'table_order.AddNew
'table_order.num_ordre = n_order
'table_order.Update
'table_order.Close
End Function
Merci d'avant pour votre aide...
j'ai une application vb de 1997 que j'ai modifié pour que ça marche sur MSO2010, tout à l'ai de bien fonctionné mais la base ne s'incremente plus à partir du 212eme enregistrement et je comprends pas pourquoi.
Ci-dessous une partie du code qui genere l'incrementation:
Function numsequence()
Dim mybase As DAO.Database, Total As Long
Dim table_order As DAO.Recordset, table_Ha As DAO.Recordset
Set mybase = Application.CurrentDb()
Set table_Ha = mybase.OpenRecordset("Achats")
Set table_order = mybase.OpenRecordset("ordre")
Total = table_Ha.RecordCount
If Total = 0 Then
numsequence = 1
n_order = 1
Else
table_Ha.MoveLast
numsequence = table_Ha![HA_num_ordre] + 1
n_order = table_Ha![HA_num_ordre] + 1
End If
'table_order.AddNew
'table_order.num_ordre = n_order
'table_order.Update
'table_order.Close
End Function
Merci d'avant pour votre aide...
A voir également:
- Ma base ne s'incremente plus...
- Base de registre - Guide
- Formules mathématiques de base - Télécharger - Études & Formations
- Gigaset ne reconnait plus sa base ✓ - Forum telephonie fixe
- Exemple base de données access à télécharger gratuit - Forum Access
- Formules excel de base - Guide
5 réponses
Bonjour
Je ne connais rien du tout à DAO, mais c'est normal que les 4 dernières lignes - dont le Update - soient en commentaire ?
Je ne connais rien du tout à DAO, mais c'est normal que les 4 dernières lignes - dont le Update - soient en commentaire ?
Si tu effaces quelques lignes de ta table, ça repart disons de 209, et c'est à nouveau à 212 que ça bloque ?
Donc la valeur 212 n'a rien à voir là-dedans. Ça n'incrémente plus, un point c'est tout.
Comme j'ai déjà dit, je ne sais pas comment ça se passe avec ADO. Mais je trouve extrêmement curieux que tu lises le champ [HA_num_ordre] de ta table table_Ha, et qu'il n'y ait (hors commentaires) aucune instruction qui ressemble à l'ajout ou à la mise à jour d'un champ derrière. Tu n'as pas la version originale pour vérifier ce qui manque ?
Comme j'ai déjà dit, je ne sais pas comment ça se passe avec ADO. Mais je trouve extrêmement curieux que tu lises le champ [HA_num_ordre] de ta table table_Ha, et qu'il n'y ait (hors commentaires) aucune instruction qui ressemble à l'ajout ou à la mise à jour d'un champ derrière. Tu n'as pas la version originale pour vérifier ce qui manque ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
ya un soucis
J'en suis persuadé aussi, s'il n'y avait pas de souci nous ne serions pas ici tous les deux.
Je pense bien que ça s'arretera au 212 eme Un bon moyen d'en être sûr, c'est de reproduire le problème. Si le défaut est bien reproductible, on pourra chercher à quoi correspond ce 212. Sinon on va courir après un faux problème.
Tu fais de OpenRecordSet dans ta fonction, il ne devrait pas y avoir un 'close' correspondant quelque part ?
À quoi sert n_order ? C'est une variable globale ?
Tu devrais aussi rechercher où la fonction numsequence est appelée, car c'est là que la mise à jour / ajout de ta table doit être faite
J'en suis persuadé aussi, s'il n'y avait pas de souci nous ne serions pas ici tous les deux.
Je pense bien que ça s'arretera au 212 eme Un bon moyen d'en être sûr, c'est de reproduire le problème. Si le défaut est bien reproductible, on pourra chercher à quoi correspond ce 212. Sinon on va courir après un faux problème.
Tu fais de OpenRecordSet dans ta fonction, il ne devrait pas y avoir un 'close' correspondant quelque part ?
À quoi sert n_order ? C'est une variable globale ?
Tu devrais aussi rechercher où la fonction numsequence est appelée, car c'est là que la mise à jour / ajout de ta table doit être faite
je trouvais pas ça normal du tout, mais je n'ai pas apporté de modif sur cette partie du code. Alors j'ignore si je dois laisser en commentaire ou pas.