Problème d'enregistrement dans ma base de donnée [Résolu]

Messages postés
15
Date d'inscription
mercredi 19 août 2009
Dernière intervention
15 juin 2013
- 7 juin 2013 à 13:37 - Dernière réponse :
Messages postés
15
Date d'inscription
mercredi 19 août 2009
Dernière intervention
15 juin 2013
- 15 juin 2013 à 14:25
Bonjour,

j'ai développé une application sous VB2012 Express, avec sql serveur compact 4.0.
Ce qui me permet de gérer des fiche d'intervention.
Je renseigne différents éléments d'une form et je vais ensuite les stocker dans une base de donnée via une form contenant un
datagridview de ma bdd.

Jusque la tout ce passe bien sauf que si ma bdd dépasse environs les 350 lignes ca ne marche plus.
Exemple avec 950 lignes l'ajout d'une nouvelle ligne , le remplissage des champs et l'enregistrement ce font.
Par contre je retrouve ma nouvelle ligne en position 330 et non en 951 et si j'ajoute plus de 6 lignes elles écrasent une ancienne.
(Compris entre 330 et 336).

J'utilise sql serveur compact 4.0
J'ai essayé de remplir ma nouvelle ligne manuellement ou automatique (via mon code) même problème.

Je pose le code de la gestion de mise à jour de ma bdd:

Class MajHisto

Dim NbLigne As Integer
'

Public FinSauvHisto As Boolean

Private Sub HistoriqueBindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles HistoriqueBindingNavigatorSaveItem.Click

Me.Validate()
Me.HistoriqueBindingSource.EndEdit()
Me.TableAdapterManager.UpdateAll(Me.GestInterDataSet)
End Sub

Private Sub MajHisto_Activated(sender As Object, e As EventArgs) Handles Me.Activated
Call Me.Traitement()
End Sub

Private Sub MajHisto_FormClosed(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed
Intervention.Sauv_Inter.EnHisto = True
Call Me.Dispose()
End Sub

Private Sub AccessBddHisto_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'TODO: cette ligne de code charge les données dans la table 'GestInterDataSet.Historique'. Vous pouvez la déplacer ou la supprimer selon vos besoins.
Me.HistoriqueTableAdapter.Fill(Me.GestInterDataSet.Historique)
Application.DoEvents()

End Sub

Sub RecupDon()
Dim Tmp As String
Dim i As Integer

Me.NbLigne = CInt(Me.GestInterDataSet.Historique.Count - 1)

Intervention.Générale.ChangeIntervenant.Enabled = False

Me.Numéro_d_interventionTextBox.Text = Intervention.Code_RecupInfo.NumInter
Me.Numéro_ClientTextBox.Text = Intervention.Code_RecupInfo.NumClient
Me.Numéro_MachineTextBox.Text = Intervention.Code_RecupInfo.NumMach
Me.Numéro_de_commandeTextBox.Text = Intervention.Code_RecupInfo.NumCmd
Me.Numéro_ContactTextBox.Text = Intervention.Code_RecupInfo.NumCont
Me.Numéro_TechnicienTextBox.Text = Intervention.Code_RecupInfo.NumIntervenant
Me.ObjetTextBox.Text = Intervention.Code_RecupInfo.Objet
Me.Travaux_EffectuésTextBox.Text = Intervention.Code_RecupInfo.TravEff
If Intervention.Code_RecupInfo.MachDep = True Then
Me.Machine_DépannéCheckBox.CheckState = 1
Else
Me.Machine_DépannéCheckBox.CheckState = 0
End If
Me.RestantTextBox.Text = Intervention.Code_RecupInfo.Restant
Me.PR_CLientTextBox.Text = Intervention.Code_RecupInfo.PDC
Me.PR_GEOLINETextBox.Text = Intervention.Code_RecupInfo.PDGL
Me.ObservationsTextBox.Text = Intervention.Code_RecupInfo.Observ
Me.FacturationTextBox.Text = Intervention.Code_RecupInfo.Fact
Tmp = ""
For i = 1 To Intervention.Code_RecupInfo.NbDate
Select Case i
Case 1
Tmp = Intervention.Code_RecupInfo.Date1
Case 2
Tmp = Tmp + "_" + Intervention.Code_RecupInfo.Date2
Case 3
Tmp = Tmp + "_" + Intervention.Code_RecupInfo.Date3
Case 4
Tmp = Tmp + "_" + Intervention.Code_RecupInfo.Date4
Case 5
Tmp = Tmp + "_" + Intervention.Code_RecupInfo.Date5
Case 6
Tmp = Tmp + "_" + Intervention.Code_RecupInfo.Date6
Case 7
Tmp = Tmp + "_" + Intervention.Code_RecupInfo.Date7
Case 8
Tmp = Tmp + "_" + Intervention.Code_RecupInfo.Date8
End Select
Next
Me.Jours_d_interTextBox.Text = Tmp
Tmp = ""
For i = 1 To Intervention.Code_RecupInfo.NbDate
Select Case i
Case 1
Tmp = Intervention.Code_RecupInfo.TpsDep1 + "_" + Intervention.Code_RecupInfo.Tpstrv1
Case 2
Tmp = Tmp + "_" + Intervention.Code_RecupInfo.TpsDep2 + "_" + Intervention.Code_RecupInfo.Tpstrv2
Case 3
Tmp = Tmp + "_" + Intervention.Code_RecupInfo.TpsDep3 + "_" + Intervention.Code_RecupInfo.Tpstrv3
Case 4
Tmp = Tmp + "_" + Intervention.Code_RecupInfo.TpsDep4 + "_" + Intervention.Code_RecupInfo.Tpstrv4
Case 5
Tmp = Tmp + "_" + Intervention.Code_RecupInfo.TpsDep5 + "_" + Intervention.Code_RecupInfo.Tpstrv5
Case 6
Tmp = Tmp + "_" + Intervention.Code_RecupInfo.TpsDep6 + "_" + Intervention.Code_RecupInfo.Tpstrv6
Case 7
Tmp = Tmp + "_" + Intervention.Code_RecupInfo.TpsDep7 + "_" + Intervention.Code_RecupInfo.Tpstrv7
Case 8
Tmp = Tmp + "_" + Intervention.Code_RecupInfo.TpsDep8 + "_" + Intervention.Code_RecupInfo.Tpstrv8
End Select
Next
Me.Tps_Travail_TrajetTextBox.Text = Tmp
Me.Nombre_de_ligneTextBox.Text = Intervention.Code_RecupInfo.NbLigne
Me.Date_d_interventionTextBox.Text = Intervention.Code_RecupInfo.DateInter
If Intervention.Code_RecupInfo.VersionInter = 0 Then
Me.Version_interventionTextBox.Text = 1
ElseIf Intervention.Code_RecupInfo.VersionInter = 2 Then
Me.Version_interventionTextBox.Text = 3
End If

End Sub

Private Sub MajHisto_Shown(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Shown

'Call Me.Traitement()

'Intervention.Sauv_Inter.ChargHisto = True




End Sub

Sub Traitement()

FinSauvHisto = False
If Intervention.Code_Excel.Import = False Then

Call Intervention.Code_RecupInfo.RécupInfo()

Me.NbLigne = CInt(Me.GestInterDataSet.Historique.Count - 1)

If Intervention.Code_RecupInfo.VersionInter = 0 Then
Intervention.Code_Tempo.Main(5000)
Me.BindingNavigatorAddNewItem.PerformClick()
While BindingNavigatorPositionItem.Text <> CStr(Me.NbLigne + 2)

End While
Intervention.Code_Tempo.Main(5000)

Intervention.Code_Tempo.Main(10000)
Me.RecupDon()
Me.HistoriqueBindingNavigatorSaveItem.PerformClick()
Call NumItem()
Call Intervention.Code_Générale.GestionEtatFiche(1)

Call Intervention.Code_Générale.ContEtatInter(1)

ElseIf Intervention.Code_RecupInfo.VersionInter = 2 Then
Intervention.Code_Tempo.Main(100)
While BindingNavigatorPositionItem.Text <> CStr(CInt(Intervention.Code_RecupInfo.PositionBdd) + 1)
BindingNavigatorMoveNextItem.PerformClick()
Intervention.Code_Tempo.Main(10)
End While
Intervention.Code_Tempo.Main(100)
Me.RecupDon()
HistoriqueBindingNavigatorSaveItem.PerformClick()
Call Intervention.Code_Générale.GestionEtatFiche(3)
Call Intervention.Code_Générale.ContEtatInter(3)
End If

Call Intervention.Code_Générale.VerFiche(False)
Else

End If
FinSauvHisto = True

Intervention.Code_Tempo.Main(5000)

Me.Close()

End Sub

Sub NumItem()

For Each FicheActive As NewFicheInter In Intervention.Générale.maliste

If FicheActive.Name = Intervention.Générale.FicheInterActive Then
FicheActive.ItemBdd = BindingNavigatorPositionItem.Text
End If
Next
End Sub
Afficher la suite 

Votre réponse

11 réponses

Meilleure réponse
Messages postés
15
Date d'inscription
mercredi 19 août 2009
Dernière intervention
15 juin 2013
15 juin 2013 à 14:25
3
Merci
Bonjour a tous et merci pour votre aide.

J'ai trouvé le problème.

Il ai du à un problème sur vb express2012 ou sql server compact 4 sur mon ordi portable.

Car sur l'un de mes autres pc toujours avec les même applications de développement j'ai pu recréer mes base de données sans
souci, alors que sur le portable si je recréait ces même base de donnée toujours problème d'enregistrement sur les positons 330 dès que je dépassait 350 lignes.

Merci defrelefou 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 91 internautes ce mois-ci

Commenter la réponse de defrelefou
Messages postés
15
Date d'inscription
mercredi 19 août 2009
Dernière intervention
15 juin 2013
7 juin 2013 à 13:37
0
Merci
Merci d'avance pour votre aide
Commenter la réponse de defrelefou
Messages postés
14010
Date d'inscription
samedi 29 décembre 2001
Dernière intervention
28 août 2015
7 juin 2013 à 14:29
0
Merci
Salut

Pour être lisible, surtout quand il y a beaucoup de lignes et des boucles.
Merci d'utiliser la coloration syntaxique = 3ème icone à droite

Sujet trop vague.
En survolant tes lignes, je n'ai pas trouvé l'endroit où se font les écritures (les noms de tes fonctions n'étant pas très parlant, vu de l'extérieur).

L'ordre des items dans une table n'a pas vraiment de sens. Les données sont là ou pas là, mais dire qu'elles ne sont pas au bon endroit, je ne vois pas trop ce que tu veux dire.

Quand tu enregistres tes données, s'agit-il d'ajout ou bien de mise à jour ?
Où se trouve le code de ces écritures ?
As-tu exécuté ton code en ligne à ligne avec le débug afin de vérifier le contenu des champs, des boucles ... ?
As-tu vérifier que les déclarations de type de champ étaient suffisant pour accueillir tes données ... bien qu'une limite à 330 ne ressemble pas trop à ce genre de problème.
Attention : Si le champ (dans ta table) est de type texte et que tu y stockes des chiffres, ceux-ci seront considérés comme des textes, donc 111 sera avant 8 (par exemple)

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on le partage (Socrate)
Commenter la réponse de cs_Jack
Messages postés
15
Date d'inscription
mercredi 19 août 2009
Dernière intervention
15 juin 2013
7 juin 2013 à 14:41
0
Merci
salut jack,

merci pour ton retour et désolée pour la présentation.

Pour tes questions
L’exécution ligne par ligne fonctionne.
Ce n'ai pas un problème de longueur de champ ni de type de donnée.

Sinon il s'agit d'un ajout, les mise à jour de ligne ne pose pas de problème.

Je vais essayer de clarifier mon problème:

Si je pars d'une bdd vide ou inférieur à 350 et que j'ajoute une ligne en renseignent ma ligne avec des valeurs A1 (ensemble de donnée).
Pas de problème mes colonnes de la ligne sont bien renseigné sur le bon numéro de ligne.

Par contre si je pars sur un bdd d'environ 950 lignes et que je renseigne ma ligne avec des valeurs A1 (les mêmes qu'avant)
De la ma ligne vas être écrite en position 330 au lieu de951
Commenter la réponse de defrelefou
Messages postés
15
Date d'inscription
mercredi 19 août 2009
Dernière intervention
15 juin 2013
7 juin 2013 à 14:59
0
Merci
ici on trouve les parties écrites automatique lors de l'insertion d'un datagridview

Private Sub HistoriqueBindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles HistoriqueBindingNavigatorSaveItem.Click

Me.Validate()
Me.HistoriqueBindingSource.EndEdit()
Me.TableAdapterManager.UpdateAll(Me.GestInterDataSet)
End Sub


Private Sub MajHisto_Activated(sender As Object, e As EventArgs) Handles Me.Activated
Call Me.Traitement()
End Sub


Private Sub MajHisto_FormClosed(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed
Intervention.Sauv_Inter.EnHisto = True
Call Me.Dispose()
End Sub

Private Sub AccessBddHisto_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'TODO: cette ligne de code charge les données dans la table 'GestInterDataSet.Historique'. Vous pouvez la déplacer ou la supprimer selon vos besoins.
Me.HistoriqueTableAdapter.Fill(Me.GestInterDataSet.Historique)
Application.DoEvents()

End Sub
Commenter la réponse de defrelefou
Messages postés
15
Date d'inscription
mercredi 19 août 2009
Dernière intervention
15 juin 2013
7 juin 2013 à 15:00
0
Merci
Ici cette focntion me permet d'écrire dans les textboxs de ma form (représentant mes différentes colonnes de ma bdd)
Sub RecupDon()
Dim Tmp As String
Dim i As Integer

Me.NbLigne = CInt(Me.GestInterDataSet.Historique.Count - 1)

Intervention.Générale.ChangeIntervenant.Enabled = False

Me.Numéro_d_interventionTextBox.Text = Intervention.Code_RecupInfo.NumInter
Me.Numéro_ClientTextBox.Text = Intervention.Code_RecupInfo.NumClient
Me.Numéro_MachineTextBox.Text = Intervention.Code_RecupInfo.NumMach
Me.Numéro_de_commandeTextBox.Text = Intervention.Code_RecupInfo.NumCmd
Me.Numéro_ContactTextBox.Text = Intervention.Code_RecupInfo.NumCont
Me.Numéro_TechnicienTextBox.Text = Intervention.Code_RecupInfo.NumIntervenant
Me.ObjetTextBox.Text = Intervention.Code_RecupInfo.Objet
Me.Travaux_EffectuésTextBox.Text = Intervention.Code_RecupInfo.TravEff
If Intervention.Code_RecupInfo.MachDep = True Then
Me.Machine_DépannéCheckBox.CheckState = 1
Else
Me.Machine_DépannéCheckBox.CheckState = 0
End If
Me.RestantTextBox.Text = Intervention.Code_RecupInfo.Restant
Me.PR_CLientTextBox.Text = Intervention.Code_RecupInfo.PDC
Me.PR_GEOLINETextBox.Text = Intervention.Code_RecupInfo.PDGL
Me.ObservationsTextBox.Text = Intervention.Code_RecupInfo.Observ
Me.FacturationTextBox.Text = Intervention.Code_RecupInfo.Fact
Tmp = ""
For i = 1 To Intervention.Code_RecupInfo.NbDate
Select Case i
Case 1
Tmp = Intervention.Code_RecupInfo.Date1
Case 2
Tmp = Tmp + "_" + Intervention.Code_RecupInfo.Date2
Case 3
Tmp = Tmp + "_" + Intervention.Code_RecupInfo.Date3
Case 4
Tmp = Tmp + "_" + Intervention.Code_RecupInfo.Date4
Case 5
Tmp = Tmp + "_" + Intervention.Code_RecupInfo.Date5
Case 6
Tmp = Tmp + "_" + Intervention.Code_RecupInfo.Date6
Case 7
Tmp = Tmp + "_" + Intervention.Code_RecupInfo.Date7
Case 8
Tmp = Tmp + "_" + Intervention.Code_RecupInfo.Date8
End Select
Next
Me.Jours_d_interTextBox.Text = Tmp
Tmp = ""
For i = 1 To Intervention.Code_RecupInfo.NbDate
Select Case i
Case 1
Tmp = Intervention.Code_RecupInfo.TpsDep1 + "_" + Intervention.Code_RecupInfo.Tpstrv1
Case 2
Tmp = Tmp + "_" + Intervention.Code_RecupInfo.TpsDep2 + "_" + Intervention.Code_RecupInfo.Tpstrv2
Case 3
Tmp = Tmp + "_" + Intervention.Code_RecupInfo.TpsDep3 + "_" + Intervention.Code_RecupInfo.Tpstrv3
Case 4
Tmp = Tmp + "_" + Intervention.Code_RecupInfo.TpsDep4 + "_" + Intervention.Code_RecupInfo.Tpstrv4
Case 5
Tmp = Tmp + "_" + Intervention.Code_RecupInfo.TpsDep5 + "_" + Intervention.Code_RecupInfo.Tpstrv5
Case 6
Tmp = Tmp + "_" + Intervention.Code_RecupInfo.TpsDep6 + "_" + Intervention.Code_RecupInfo.Tpstrv6
Case 7
Tmp = Tmp + "_" + Intervention.Code_RecupInfo.TpsDep7 + "_" + Intervention.Code_RecupInfo.Tpstrv7
Case 8
Tmp = Tmp + "_" + Intervention.Code_RecupInfo.TpsDep8 + "_" + Intervention.Code_RecupInfo.Tpstrv8
End Select
Next
Me.Tps_Travail_TrajetTextBox.Text = Tmp
Me.Nombre_de_ligneTextBox.Text = Intervention.Code_RecupInfo.NbLigne
Me.Date_d_interventionTextBox.Text = Intervention.Code_RecupInfo.DateInter
If Intervention.Code_RecupInfo.VersionInter = 0 Then
Me.Version_interventionTextBox.Text = 1
ElseIf Intervention.Code_RecupInfo.VersionInter = 2 Then
Me.Version_interventionTextBox.Text = 3
End If

End Sub
Commenter la réponse de defrelefou
Messages postés
15
Date d'inscription
mercredi 19 août 2009
Dernière intervention
15 juin 2013
7 juin 2013 à 15:01
0
Merci
Ici on vas trouver le nerf de la guerre:

Sub Traitement()

FinSauvHisto = False
If Intervention.Code_Excel.Import = False Then

Call Intervention.Code_RecupInfo.RécupInfo() 'démarre une focntion qui récupère les renseignement de ma fiche d'intervention en vue de les écrire dans ma bdd

Me.NbLigne = CInt(Me.GestInterDataSet.Historique.Count - 1)

If Intervention.Code_RecupInfo.VersionInter = 0 Then 'ici on trouve la condition qui me dit que c un ajout à effectuer
Intervention.Code_Tempo.Main(5000) 'ici une temporisation qui me permet d'attendre que ma bdd soit bien chargé (certain des pc ou tourne l'appli sont plus long au traitement
Me.BindingNavigatorAddNewItem.PerformClick() 'ici la demande d'ajout d'une nouvelle ligne
While BindingNavigatorPositionItem.Text <> CStr(Me.NbLigne + 2) 'ici j'attend que je soit bien arrivé à la nouvelle ligne (pas sur que ce soit utile)

End While
Intervention.Code_Tempo.Main(5000)

Intervention.Code_Tempo.Main(10000)
Me.RecupDon() 'ici je vient remplir mes champs de ma lignes
Me.HistoriqueBindingNavigatorSaveItem.PerformClick() 'ici j'enregistre dans ma bdd
Call NumItem() 'A partir de maintenant ce sont que des gestions d'animations fenêtre, bouton,...)
Call Intervention.Code_Générale.GestionEtatFiche(1)

Call Intervention.Code_Générale.ContEtatInter(1)

ElseIf Intervention.Code_RecupInfo.VersionInter = 2 Then 'Toute la partie qui suit est la mise à jour d'une ligne
Intervention.Code_Tempo.Main(100)
While BindingNavigatorPositionItem.Text <> CStr(CInt(Intervention.Code_RecupInfo.PositionBdd) + 1)
BindingNavigatorMoveNextItem.PerformClick()
Intervention.Code_Tempo.Main(10)
End While
Intervention.Code_Tempo.Main(100)
Me.RecupDon()
HistoriqueBindingNavigatorSaveItem.PerformClick()
Call Intervention.Code_Générale.GestionEtatFiche(3)
Call Intervention.Code_Générale.ContEtatInter(3)
End If

Call Intervention.Code_Générale.VerFiche(False) 'ici une autre animation et divers manipe
Else

End If
FinSauvHisto = True

Intervention.Code_Tempo.Main(5000)

Me.Close()

End Sub
Commenter la réponse de defrelefou
7 juin 2013 à 20:06
0
Merci
Bonjour,

Quelle est la taille de ton fichier ? Sauf horreur de ma part, SQL Server Compact est limité à des banques de données de 2 GO ou de 4 GO.
Commenter la réponse de Utilisateur anonyme
Messages postés
15
Date d'inscription
mercredi 19 août 2009
Dernière intervention
15 juin 2013
7 juin 2013 à 20:36
0
Merci
bonjour cmarcotte,

Le taille de mon fichier avec les 950 lignes fait 541 Ko donc normalement c'est bon
Commenter la réponse de defrelefou
Messages postés
14010
Date d'inscription
samedi 29 décembre 2001
Dernière intervention
28 août 2015
7 juin 2013 à 22:24
0
Merci
Et tu n'as toujours pas trouvé la bonne icone pour le coloriage de code, dommage; c'est illisible

"Pas de problème mes colonnes de la ligne sont bien renseigné sur le bon numéro de ligne."
Honnêtement, ça ne veut rien dire.
Il n'y a pas de n° de ligne dans les tables.
Explique par l'exemple, car là, c'est incompréhensible.

Il est anormal d'avoir recourt à des tempos.
Une fois que tes ordres sont envoyés, ils sont envoyés.
Il faut approfondir, car je pense que tu as un premier problème de conception.

Pour pouvoir t'aider, il faut que tu fournisses tous les détails; n'attends pas qu'on te les demande.
Pour commencer, de quoi est composée ta table ? Quels champs et de quel types ?

Perso, je n'ai toujours pas compris de quel objet il s'agit pour 'intervention' (par exemple)

"Call Intervention.Code_Générale.ContEtatInter(1)"
Que veut dire cette ligne, que fait-elle ?
A quoi correspond le paramètre '1' ?
Est-ce important ?
Tu as collé trop de code qui nous écarte de ton problème qui est mal expliqué.
Alors commence par le début : utilise les termes adaptés.

Hélas, on ne peut pas te demander tous les détails de ton appli.
C'est à toi de ne fournir que le code en rapport avec le problème, au risque de noyer le lecteur (c'est mon cas)
Il serait peut-être bon de renommer les objets pour laisser comprendre de quels types ils sont. Ce sera plus pratique pour toi ET pour nous.
Commenter la réponse de cs_Jack
Messages postés
15
Date d'inscription
mercredi 19 août 2009
Dernière intervention
15 juin 2013
9 juin 2013 à 00:30
0
Merci
Je vais prendre en compte des observations.

J'ai recréer une form avec les textboxs liée à ma bdd.
Ou comme seul code ce trouve le chargement de la bdd et sont enregistrement (code fourni par défaut par VB)

soit:

private Sub HistoriqueBindingNavigatorSaveItem_Click(sender As Object, e As EventArgs) Handles HistoriqueBindingNavigatorSaveItem.Click

        Me.Validate()
        Me.HistoriqueBindingSource.EndEdit()
        Me.TableAdapterManager.UpdateAll(Me.GestInterDataSet)

 End Sub

Private Sub GestionHisto_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        
        'TODO: cette ligne de code charge les données dans la table 'GestInterDataSet.Historique'. Vous pouvez la déplacer ou la supprimer selon vos besoins.
        Me.HistoriqueTableAdapter.Fill(Me.GestInterDataSet.Historique)
        
   End Sub


Donc pour info "Intervention " est le nom de mon projet, code_général l'une de mes class, ContEtatInter une fonction qui me permets d'animer mes boutons fenêtres et (1) correspond à un état pour mes animations.

Donc j'ai le même problème avec cette forme sans recodage de ma pars.

Soit des que je dépasse les 400 lignes les ajouts ce positionnent en lignes 330 et écrase les enregistrement à partir de 334 à 336 et ne dépasse pas 336.

Donc je dois avoir un problème sur les connexions, relations ou même conception de ma bdd. Mais la je ne sais plus quoi faire ...

Ma Bdd ai composé de 20 colonnes comprenant des chaines de caractère, entier, et bit.
je ensuite fait un dataset pour faire la liaison avec l'application on sont situé le fill,getdata() je n'irai pas plus long car a partir de la je ne sais pas car le bdd et moi c pas une folle histoire d'amour...
Commenter la réponse de defrelefou

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.