Comment enregistrer ?

Signaler
Messages postés
188
Date d'inscription
mercredi 12 octobre 2005
Statut
Membre
Dernière intervention
19 novembre 2011
-
Messages postés
188
Date d'inscription
mercredi 12 octobre 2005
Statut
Membre
Dernière intervention
19 novembre 2011
-
Bonjour,

J'ai un soucis de logique. Je sèche désespérément depuis hier soir.

Voilà  : je viens de développer un petit logiciel de gestion familiale. Un truc simple : 

                                 Date, Désignation, Débit, Crédit, Solde.

Si je veux sauvegarder à la ligne 5 par exemple, il sauvegarde les lignes 1, 2, 3, 4 et 5. Mais, si par la suite, je veux re-sauvegarder à la ligne 10, il sauvegardera de la ligne 1 à la 10, en doublant les 5 premières.

Comment faire pour ne pas créer de doublons ? Je suis sûr que ce doit être de la logique pure mais là, je sèche...
Quelqu'un pourrait m'aider ?

Cordialement,

Whombat.
<hr />
Prédire l'avenir est particulièrement aléatoire, 
surtout lorsqu'il s'agit du futur.

6 réponses

Messages postés
38
Date d'inscription
jeudi 20 septembre 2007
Statut
Membre
Dernière intervention
9 décembre 2008

Quel est ton type d'ouverture de fichier?
Messages postés
188
Date d'inscription
mercredi 12 octobre 2005
Statut
Membre
Dernière intervention
19 novembre 2011

Je suis en random. Je travaille en VB4 Pro (oui, je sais, ringard et tout... Mais je n'ai plus la t^te pour apprendre un nouveau langage... J'ai essayé pourtant, mais je n'y arrive pas...).

L'enregistrement se fait avec une variable 'Compta' qui a été déclarée par un Type. (Compta.date, Compta.Désignation etc...) mais l'enregistrement ne se fait pas par ligne, trop de soucis. Il faut décider d'enregistrer ou bien il enregistre en fin de page ou en fin de travail.

Cordialement,

Whombat.
<hr />
Prédire l'avenir est particulièrement aléatoire, 
surtout lorsqu'il s'agit du futur.
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
39
salut,
tu enregistres dans une base? dans un fichier texte? autre?
quel est ton code?

ps : déplacé de VB.NET à VB (6, à défaut de mieux ^^)
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
Messages postés
188
Date d'inscription
mercredi 12 octobre 2005
Statut
Membre
Dernière intervention
19 novembre 2011

Réponse : j'enregistre dans un fichier texte.

En fait j'ai trouvé une astuce, elle vaut ce qu'elle vaut :

Chaque enregistrement a un id de 12 chiffres défini ( par un randomize ) lors de l'enregistrement.

A l'écran, la case id est donc vide pour toutes les lignes NON encore enregistrées.

Lors de l'enregistrement, le soft contrôle que la case id soit vide -> si non il passe, si oui, il crée un N° et l'attribue à la ligne d'écriture.

Simple et rapide à écrire, très fonctionnel, et avec 12 chiffres il y a de la marge...

Merci pour toute l'attention que vous avez su me porter et pour votre soutien. On cherche peut-être mais de savoir qu'on n'est plus seul, ça aide -> la preuve :)

Cordialement,

Whombat.
<hr />
Prédire l'avenir est particulièrement aléatoire, 
surtout lorsqu'il s'agit du futur.
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
18
Le principe serait

Put #1, IndexEnregistrement, Compta

Encore faut-il connaître IndexEnregistrement
Avec des numéros aléatoires, ce ne sera peut-être pas très facile...(?)
Est-ce nécessaire d'utiliser ce numéro aléatoirement plutôt qu'une suite logique ?

MPi²
Messages postés
188
Date d'inscription
mercredi 12 octobre 2005
Statut
Membre
Dernière intervention
19 novembre 2011

J'y ai pensé, tu t'en doutes. Mais basé sur quoi ? La date (plusieurs écritures le même jour...), la date suivie de 001, 002, 003 etc... ? Le jour ou tu oublies une ligne ou bien tu supprimes une ligne (un crédit prévu qui a été soldé par ex.), l'ordre ne se suit plus, bref tout ce qui était logique à l'usage s'avérait illogique.

Le numéro construit aléatoirement m'est totalement transparent, je veux dire qu'il ne m'arrivera jamais de l'écrire. 12 chiffres cela minimise les risques d'erreur, pour ainsi dire ça les supprime.

A gauche de chaque ligne d'écriture il y a le n° de la ligne (du tableau à l'écran  et donc inutilisable en bdd). Pour supprimer une ligne d'écriture je supprime, par exemple, la ligne 15. Le soft lui lit le N° construit, le recherche dans la bdd et supprime la ligne. Simple.


Il ne reste plus qu'a reconstruire la base pour qu'il n'y ait pas de trou mais ça c'est l'enfance de l'art.

Cordialement,

Whombat.





<hr />


Prédire l'avenir est particulièrement aléatoire, 
surtout lorsqu'il s'agit du futur.