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...
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 ? -
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 ? -
Je viens de voir ton message de 15h15
Ça s'incrémente à nouveau jusqu'à 212 si tu repars de 1 ? -
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