cs_lucio57
Messages postés146Date d'inscriptionlundi 10 février 2003StatutMembreDernière intervention25 juillet 2007
-
15 déc. 2005 à 15:25
gaa179
Messages postés361Date d'inscriptionmercredi 21 mai 2003StatutMembreDernière intervention12 novembre 2009
-
16 déc. 2005 à 07:12
Bonjour,
Je cherche à savoir, si il est possible par requête SQL de faire un update sur un champ en lui affectant la valeur de l'enregistrement précédent.
Je m'explique
J'ai une table contenant le code du dossier, le n° de compte et le montant. Mais pour certaines lignes le code dossier n'est pas renseigné. Ce qui signifie que la ligne correspond au précédent code dossier lu.
Exempl
Dossier Compte Montant
1 601000 100000
415000 1500
300000 200
2 701000 50000
250000 400,50
1 602000 200000
405000 2500
310000 200
En fait les lignes 2, 3,7,8 correspondent au dossier 1 et la ligne 5 au dossier 2
Mon souci est que ces données sont intégré dans la base à partir d'un fichier TXT par lot DTS. Donc je cherche à mettre jour le champ dossier d'un seul coup sans avoir à tout parcourir parce que j'ai près 500.000 enregistrements et ça risque d'être galêre à tout traîter 1 par 1.
gaa179
Messages postés361Date d'inscriptionmercredi 21 mai 2003StatutMembreDernière intervention12 novembre 20092 16 déc. 2005 à 07:12
Salut,
Dans ton transfert TXT vers BD dans le DTS, utilise un VBScript pour faire le transfert de tes données. Tu pourras ainsi garder la valeur du précédent dans un variable local, et si pour le suivant la valeur est vide, tu place la valeur de ta variable. Voici un exemple de code qui fait un check sur les colonnes et puis qui transfert les valeurs.
DTSSource("Col001") est la première colonne de ton fichier, DTS Destination("[Nom du champ"]) est le champ de ta table.