Gambas France BETA


Pas de compte ? Incription

Rapidité!

Ce sujet est résolu.

1
AuteurMessages
jeanyvon#1 Posté le 31/12/2011 à 14:16:38
Gambas? Ma! Et gustoSalut

un peu de code avant le réveillon ça ouvre les papilles....

1
2
3
4
5
6
7
8
9
10
11
12
13
WITH maconnexion
resultatN = .Exec("SELECT * from Archive")
FOR EACH resultatN
.Exec("delete from Archive where N = '" & resultatN!N & "'")
.Exec("insert into Archive values('" & i & "','" & resultatN!mdate & "','" & resultatN!montant & "','" & resultatN!payement & "','" & resultatN!ventilation & "')")
INC i
NEXT
resultatN.MoveLast
indxnouv = resultatN!N + 1
.Exec("insert into Archive values('" & indxnouv & "','" & la_date_a_ventil & "','" & le_montant_a_pointer & "','" & le_payement_pointer & "','" & la_ventil_a_pointer & "')")
.Exec("DELETE FROM encour WHERE N ='" & index & "'")
.Commit
END WITH


Je veux créer une archive dans mon logiciel de gestion de compte.
Je ne peux pas me servir de l'index que je capture au pointage.
Je suis obligé de réindexer toute l'archive pour ne pas avoir d'erreur...
Est-ce que vous voyez un code plus rapide?
Merci
Bonne fin d'année!
JY
Vieillir? On peut retarder mais pas y échapper!
gambix#2 Posté le 31/12/2011 à 16:02:52
Faire simple !je croit que si tu explicais mieux je pourrais t'aider ... la c'est pas claire
Moins de texte dans une signature c'est agrandir son espace.
linuxos#3 Posté le 31/12/2011 à 16:13:21
Un peu de sel, de poivre et la crevette sera... En fait il faudrait prevoir un hotline pour interpreter les demandes des utilisateurs... désolé, je suis déja dehors..

Olivier
Lorsqu'on s'occupe d'informatique, il faut faire comme les canards... Paraître calme en surface et pédaler comme un forcené par en dessous.
jeanyvon#4 Posté le 31/12/2011 à 16:51:07
Gambas? Ma! Et gustoRe!
Bon, effectivement c'est claire pour moi qui suis noyé dedans mais pour vous quel patacaisse!
j'explique:
je voudrais garder trace des enregistrements liés à mes comptes dans une table de la base de donnée.
Cette table s'appelle "Archive" les données viennent d'une table nommée :"Encour".
La sélection et l'enregistrement dans archive se fait en fonction du bordereau de banque donc en complet désordre par rapport à leurs index.
Sqlite (ou gambas) refuse d'avoir deux fois le même index ou un trou . Je suppose que je pourrais créer une BdD sans index ... Je ne sais pas si il y a un risque.
Je suis donc obligé de fournir un autre index pour les enregistrer dans "Archives". Il faut tout repasser à chaque fois (je suppose) mais c'est loooong! Pourtant j'ai un processeur a 4 cœurs et une mémoire 100 fois supérieur au premier disque dur que j'ai eu.
alors je sollicitais votre très haute bienveillance (mais oui! ) afin d'obtenir des conseils plus que bénéfiques.
Merci les copains!
Là on s'en va mais des demain je suis à votre écoute!
Bonne année
JY
PS : au sujet de la hotline un don de télépathie suffirait vous devriez y penser!!!!
Vieillir? On peut retarder mais pas y échapper!
gambix#5 Posté le 31/12/2011 à 22:50:03
Faire simple !je ne sais pas pourquoi mais ça me semble être du grand n'importe quoi
Moins de texte dans une signature c'est agrandir son espace.
Prokopy#6 Posté le 31/12/2011 à 23:29:00
Kinder PinguiJY,

Je ne connais pas bien SQLite, mais il me semble que si tu ne spécifies pas d'index à l'insertion (et non à la création), il est calculé automatiquement. (http://www.sqlite.org/autoinc.html)

Autrement dit :

1
maconnexion.Exec("insert into Archive values('" & la_date_a_ventil & "','" & le_montant_a_pointer & "','" & le_payement_pointer & "','" & la_ventil_a_pointer & "')")


...devrait fonctionner tout seul sans boucle ni rien.
La théorie, c'est quand on sait tout et que rien ne fonctionne.
La pratique, c'est quand ça marche mais qu'on ne sait pas pourquoi.
Quand la théorie rejoint la pratique, rien ne fonctionne et on ne sait pas pourquoi.
gambix#7 Posté le 1/1/2012 à 00:25:38
Faire simple !ouaip
Moins de texte dans une signature c'est agrandir son espace.
jeanyvon#8 Posté le 1/1/2012 à 10:41:05
Gambas? Ma! Et gustoHello!
d'abord bonne année


[quote=procopy]
1
2
1
maconnexion.Exec("insert into Archive values('" & la_date_a_ventil & "','" & le_montant_a_pointer & "','" & le_payement_pointer & "','" & la_ventil_a_pointer & "')")

[/quote]

J'ai essayé ça

1
2
1
maconnexion.Exec("insert into Archive values[u]('""','"[/u] & la_date_a_ventil & "','" & le_montant_a_pointer & "','" & le_payement_pointer & "','" & la_ventil_a_pointer & "')")

ça engendre une erreur je vais essayer ton code
Merci à vous tous
JY

Vieillir? On peut retarder mais pas y échapper!
jeanyvon#9 Posté le 1/1/2012 à 19:02:04
Gambas? Ma! Et gustoSalut du soir
Je laisse tomber!
A+
JY
Vieillir? On peut retarder mais pas y échapper!
Prokopy#10 Posté le 1/1/2012 à 19:45:43
Kinder PinguiEst-ce que tu as essayé :

1
maconnexion.Exec("insert into Archive values('NULL," & la_date_a_ventil & "','" & le_montant_a_pointer & "','" & le_payement_pointer & "','" & la_ventil_a_pointer & "')")
La théorie, c'est quand on sait tout et que rien ne fonctionne.
La pratique, c'est quand ça marche mais qu'on ne sait pas pourquoi.
Quand la théorie rejoint la pratique, rien ne fonctionne et on ne sait pas pourquoi.
jeanyvon#11 Posté le 2/1/2012 à 07:35:23
Gambas? Ma! Et gustoSalut,
Merci
J'ai construit un petit projet et j'ai testé ta commande:
bad command or database failled

bon, cette fois j’arrête!
Merci
JY
Vieillir? On peut retarder mais pas y échapper!
1