Access comment effacer... ... ...

Access comment effacer... ... ... - VB/VBA/VBS - Programmation

Marsh Posté le 30-03-2006 à 23:21:50    

Voila j'ai une table 'table' dans laquelle j'injecte des données dans le champ 'champ'
ouffff trop balaise...
Ensuite, je fais mes manips blablabla et je transferts mes données dans une table 'deja_copié'
 
quand je re-injecte des données dans 'table' je voudrais trouver une routine qui efface automatiquement de 'table' les enregistrements qui sont deja presents dans 'deja_copié'
 
liaison ?
idée ?
merci !


---------------
http://www.ypikay.com
Reply

Marsh Posté le 30-03-2006 à 23:21:50   

Reply

Marsh Posté le 31-03-2006 à 09:03:30    

hmm j'ai pas d'idées supra géniales mais bon ; Celle que j'ai consiste a relever les contenus des clés primaires des doublons dans un tableau et ensuite de les supprimer de la table (je suppose que tout ca est en SQL :p)
 
en gros :
 

'On admet que tu as récuperé le contenu de ta table dans un DataSet !
dim arr(), SQLcmd as string
dim a, b, x, y, z as short
 
for i = a to b
for j = x to y
if table1(i) = table2(j) Then array(z) = table1(i).Value '(en gros)
redim preserve array(z+1)
z+=1
end if
next j
next i
 
for i = 0 to z - 1
SQLcmd = "DELETE " & array(i) & " FROM TABLE"
SQLcon() 'fonction de lancement de commande (mode déconnecté)
next


 
un truc dans ce genre la :D ! au boulot :P
 
 
(pour le SQL : http://traduc.postgresqlfr.org/pg- [...] mands.html
http://traduc.postgresqlfr.org/pg- [...] elete.html )


Message édité par kennybis le 31-03-2006 à 09:08:28
Reply

Marsh Posté le 31-03-2006 à 10:42:31    

Je suppose que tu as une clé unique qui permet de faire une jointure entre ces deux tables.
Si oui alors c'est simple.
Tu fais une requete Suppression sur la table 'table' et tu ajoutes une liaison avec 'deja_copié' via cette clé unique.
L'avantage de créer une requete Suppression est de pouvoir la tester (mode feuille de données) sans l'exécuter (bouton Point d'exclamation)

Reply

Marsh Posté le 31-03-2006 à 17:13:39    

tegu a écrit :

Je suppose que tu as une clé unique qui permet de faire une jointure entre ces deux tables.
Si oui alors c'est simple.
Tu fais une requete Suppression sur la table 'table' et tu ajoutes une liaison avec 'deja_copié' via cette clé unique.
L'avantage de créer une requete Suppression est de pouvoir la tester (mode feuille de données) sans l'exécuter (bouton Point d'exclamation)


 
donc je crée une requete suppress ? aurais tu un exemple car le SQL Access est un peu different de celui auquel je suis habitué
en fait j'ai le meme champ dans les 2 tables et je voudrais faire un "suppress RECCORD from table1 where RECCORD in tableorigine" (désolé pour le charabia)...
 
Merci


---------------
http://www.ypikay.com
Reply

Marsh Posté le 31-03-2006 à 20:22:15    

erwan83 a écrit :

Voila j'ai une table 'table' dans laquelle j'injecte des données dans le champ 'champ'
ouffff trop balaise...
Ensuite, je fais mes manips blablabla et je transferts mes données dans une table 'deja_copié'
 
quand je re-injecte des données dans 'table' je voudrais trouver une routine qui efface automatiquement de 'table' les enregistrements qui sont deja presents dans 'deja_copié'
 
liaison ?
idée ?
merci !


Autrement dit, tu transfère tes données dans 'deja_copié' après manips, tu veux les effacer de 'table' et tu veux contrôler que les nouvelles données que tu entres dans 'table' ne soient pas déjà dans 'deja_copié', auquel cas tu les supprimes ? Ai-je bien compris ?

Reply

Marsh Posté le 05-04-2006 à 17:40:50    

oui voila, tout à fait !


---------------
http://www.ypikay.com
Reply

Marsh Posté le 06-04-2006 à 10:10:43    

erwan83, je vais finir par croire que tu n'as pas MS Access sur ta machine...
Il te suffit d'ouvrir ta base, de créer la requête Suppression que je t'ai indiqué VIA L'INTERFACE pour récupérer le code sql.
Si tu n'as pas Access il serait temps de le dire.

Reply

Marsh Posté le 06-04-2006 à 12:27:28    

désolé j'avais pas vu
merci


---------------
http://www.ypikay.com
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed