Comment enregistrer ?

whombat Messages postés 188 Date d'inscription mercredi 12 octobre 2005 Statut Membre Dernière intervention 19 novembre 2011 - 10 nov. 2007 à 08:20
whombat Messages postés 188 Date d'inscription mercredi 12 octobre 2005 Statut Membre Dernière intervention 19 novembre 2011 - 10 nov. 2007 à 19:18
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

vautour32 Messages postés 38 Date d'inscription jeudi 20 septembre 2007 Statut Membre Dernière intervention 9 décembre 2008
10 nov. 2007 à 10:56
Quel est ton type d'ouverture de fichier?
0
whombat Messages postés 188 Date d'inscription mercredi 12 octobre 2005 Statut Membre Dernière intervention 19 novembre 2011
10 nov. 2007 à 11:47
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.
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
10 nov. 2007 à 17:10
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
0
whombat Messages postés 188 Date d'inscription mercredi 12 octobre 2005 Statut Membre Dernière intervention 19 novembre 2011
10 nov. 2007 à 18:06
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.
0

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

Posez votre question
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
10 nov. 2007 à 18:24
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²
0
whombat Messages postés 188 Date d'inscription mercredi 12 octobre 2005 Statut Membre Dernière intervention 19 novembre 2011
10 nov. 2007 à 19:18
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.
0
Rejoignez-nous