OVH Cloud OVH Cloud

Recherche de tables

6 réponses
Avatar
bdfd
Bonjour,

J'ai une appli en vb6 qui scrute 2 tables sur AS400.
Après sélection je les charge dans 2 tables sqlserver2000.

A partir d'un while de la 1ere table je veux trouver directement
par sa clé contenue dans table1-champ1 l'enreg correspondant
de la 2eme table pour mise à jour d'un champ2 de la 1ere table.

Pouvez-vous me donner un exemple de code source
(sans utiliser de while (not tb.eof)...wend) ?

merci.

Bertrand.

6 réponses

Avatar
jean-marc
"bdfd" wrote in message
news:4316d6ac$0$12778$
Bonjour,

J'ai une appli en vb6 qui scrute 2 tables sur AS400.
Après sélection je les charge dans 2 tables sqlserver2000.

A partir d'un while de la 1ere table je veux trouver directement
par sa clé contenue dans table1-champ1 l'enreg correspondant
de la 2eme table pour mise à jour d'un champ2 de la 1ere table.

Pouvez-vous me donner un exemple de code source
(sans utiliser de while (not tb.eof)...wend) ?



Hello,

Si j'ai bien compris:

T1 T2
Champ1 (Clef) Clef
Champ2 Valeur

Exemple:

T1
--
1 TOTO
2 TITI

T2
--
1 TUTU
3 TATA

Alors:

UPDATE T1, T2 SET T1.champ2 = [T2].[valeur]
WHERE (((T1.champ1)=[t2].[clef]));

donne finalement:
T1
--
1 TUTU
2 TATA

On a bien updaté les champs Champ2 de T1 avec les
valeurs du champ 'Valeur' de T2 en retrouvant
l'enregitrement de T2 par sa Clef, trouvé dans
T1(champ1). Le tout en une seule Query, sans boucle.

--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."
mailto: remove '_no_spam_' ;
Avatar
jean-marc
il fallait bien sur lire:

T2
--
1 TUTU
2 TATA <== et pas 3 TATA

--
Jean-marc
Avatar
bdfd
Salut,

en sql pur je sui s d'accord mais en vb6 ça ne marche pas !

autres solutions ?

A+,

Bertrand.

"jean-marc" a écrit dans le message de news:
4316dfeb$0$6575$
"bdfd" wrote in message
news:4316d6ac$0$12778$
Bonjour,

J'ai une appli en vb6 qui scrute 2 tables sur AS400.
Après sélection je les charge dans 2 tables sqlserver2000.

A partir d'un while de la 1ere table je veux trouver directement
par sa clé contenue dans table1-champ1 l'enreg correspondant
de la 2eme table pour mise à jour d'un champ2 de la 1ere table.

Pouvez-vous me donner un exemple de code source
(sans utiliser de while (not tb.eof)...wend) ?



Hello,

Si j'ai bien compris:

T1 T2
Champ1 (Clef) Clef
Champ2 Valeur

Exemple:

T1
--
1 TOTO
2 TITI

T2
--
1 TUTU
3 TATA

Alors:

UPDATE T1, T2 SET T1.champ2 = [T2].[valeur]
WHERE (((T1.champ1)=[t2].[clef]));

donne finalement:
T1
--
1 TUTU
2 TATA

On a bien updaté les champs Champ2 de T1 avec les
valeurs du champ 'Valeur' de T2 en retrouvant
l'enregitrement de T2 par sa Clef, trouvé dans
T1(champ1). Le tout en une seule Query, sans boucle.

--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."
mailto: remove '_no_spam_' ;





Avatar
jean-marc
Si, ça fonctionne.

Tout ce qui marche en SQL marche en VB, puisqu'il
suffit alors de faire un .EXECUTE(ta_query)

Ici en plus, il n'y a aucune ruse, c'est du SQL
basique et standard.

Ca marche en DAO et en ADO en tout cas. Peut être
utilises-tu autre chose?

--
Jean-marc


"bdfd" wrote in message
news:4316f549$0$22407$
Salut,

en sql pur je sui s d'accord mais en vb6 ça ne marche pas !

autres solutions ?

A+,

Bertrand.

"jean-marc" a écrit dans le message de news:
4316dfeb$0$6575$
> "bdfd" wrote in message
> news:4316d6ac$0$12778$
>> Bonjour,
>>
>> J'ai une appli en vb6 qui scrute 2 tables sur AS400.
>> Après sélection je les charge dans 2 tables sqlserver2000.
>>
>> A partir d'un while de la 1ere table je veux trouver directement
>> par sa clé contenue dans table1-champ1 l'enreg correspondant
>> de la 2eme table pour mise à jour d'un champ2 de la 1ere table.
>>
>> Pouvez-vous me donner un exemple de code source
>> (sans utiliser de while (not tb.eof)...wend) ?
>
> Hello,
>
> Si j'ai bien compris:
>
> T1 T2
> Champ1 (Clef) Clef
> Champ2 Valeur
>
> Exemple:
>
> T1
> --
> 1 TOTO
> 2 TITI
>
> T2
> --
> 1 TUTU
> 3 TATA
>
> Alors:
>
> UPDATE T1, T2 SET T1.champ2 = [T2].[valeur]
> WHERE (((T1.champ1)=[t2].[clef]));
>
> donne finalement:
> T1
> --
> 1 TUTU
> 2 TATA
>
> On a bien updaté les champs Champ2 de T1 avec les
> valeurs du champ 'Valeur' de T2 en retrouvant
> l'enregitrement de T2 par sa Clef, trouvé dans
> T1(champ1). Le tout en une seule Query, sans boucle.
>
> --
> Jean-marc
> "There are only 10 kind of people
> those who understand binary and those who don't."
> mailto: remove '_no_spam_' ;
>
>
>




Avatar
bdfd
Salut Jean-Marc,

Tu avais raison, c'est moi qui compliquait le "bouzin".
Ca marche très bien.
Encore merci.

A+
Bertrand ;:)

"jean-marc" a écrit dans le message de news:
431717ce$0$18452$
Si, ça fonctionne.

Tout ce qui marche en SQL marche en VB, puisqu'il
suffit alors de faire un .EXECUTE(ta_query)

Ici en plus, il n'y a aucune ruse, c'est du SQL
basique et standard.

Ca marche en DAO et en ADO en tout cas. Peut être
utilises-tu autre chose?

--
Jean-marc


"bdfd" wrote in message
news:4316f549$0$22407$
Salut,

en sql pur je sui s d'accord mais en vb6 ça ne marche pas !

autres solutions ?

A+,

Bertrand.

"jean-marc" a écrit dans le message de news:
4316dfeb$0$6575$
> "bdfd" wrote in message
> news:4316d6ac$0$12778$
>> Bonjour,
>>
>> J'ai une appli en vb6 qui scrute 2 tables sur AS400.
>> Après sélection je les charge dans 2 tables sqlserver2000.
>>
>> A partir d'un while de la 1ere table je veux trouver directement
>> par sa clé contenue dans table1-champ1 l'enreg correspondant
>> de la 2eme table pour mise à jour d'un champ2 de la 1ere table.
>>
>> Pouvez-vous me donner un exemple de code source
>> (sans utiliser de while (not tb.eof)...wend) ?
>
> Hello,
>
> Si j'ai bien compris:
>
> T1 T2
> Champ1 (Clef) Clef
> Champ2 Valeur
>
> Exemple:
>
> T1
> --
> 1 TOTO
> 2 TITI
>
> T2
> --
> 1 TUTU
> 3 TATA
>
> Alors:
>
> UPDATE T1, T2 SET T1.champ2 = [T2].[valeur]
> WHERE (((T1.champ1)=[t2].[clef]));
>
> donne finalement:
> T1
> --
> 1 TUTU
> 2 TATA
>
> On a bien updaté les champs Champ2 de T1 avec les
> valeurs du champ 'Valeur' de T2 en retrouvant
> l'enregitrement de T2 par sa Clef, trouvé dans
> T1(champ1). Le tout en une seule Query, sans boucle.
>
> --
> Jean-marc
> "There are only 10 kind of people
> those who understand binary and those who don't."
> mailto: remove '_no_spam_' ;
>
>
>








Avatar
Jean-Marc
De rien :-)

--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."
mailto: remove '_no_spam_' ;




"bdfd" a écrit dans le message de
news:431846b0$0$27258$
Salut Jean-Marc,

Tu avais raison, c'est moi qui compliquait le "bouzin".
Ca marche très bien.
Encore merci.

A+
Bertrand ;:)

"jean-marc" a écrit dans le message de news:
431717ce$0$18452$
> Si, ça fonctionne.
>
> Tout ce qui marche en SQL marche en VB, puisqu'il
> suffit alors de faire un .EXECUTE(ta_query)
>
> Ici en plus, il n'y a aucune ruse, c'est du SQL
> basique et standard.
>
> Ca marche en DAO et en ADO en tout cas. Peut être
> utilises-tu autre chose?
>
> --
> Jean-marc
>
>
> "bdfd" wrote in message
> news:4316f549$0$22407$
>> Salut,
>>
>> en sql pur je sui s d'accord mais en vb6 ça ne marche pas !
>>
>> autres solutions ?
>>
>> A+,
>>
>> Bertrand.
>>
>> "jean-marc" a écrit dans le message de news:
>> 4316dfeb$0$6575$
>> > "bdfd" wrote in message
>> > news:4316d6ac$0$12778$
>> >> Bonjour,
>> >>
>> >> J'ai une appli en vb6 qui scrute 2 tables sur AS400.
>> >> Après sélection je les charge dans 2 tables sqlserver2000.
>> >>
>> >> A partir d'un while de la 1ere table je veux trouver directement
>> >> par sa clé contenue dans table1-champ1 l'enreg correspondant
>> >> de la 2eme table pour mise à jour d'un champ2 de la 1ere table.
>> >>
>> >> Pouvez-vous me donner un exemple de code source
>> >> (sans utiliser de while (not tb.eof)...wend) ?
>> >
>> > Hello,
>> >
>> > Si j'ai bien compris:
>> >
>> > T1 T2
>> > Champ1 (Clef) Clef
>> > Champ2 Valeur
>> >
>> > Exemple:
>> >
>> > T1
>> > --
>> > 1 TOTO
>> > 2 TITI
>> >
>> > T2
>> > --
>> > 1 TUTU
>> > 3 TATA
>> >
>> > Alors:
>> >
>> > UPDATE T1, T2 SET T1.champ2 = [T2].[valeur]
>> > WHERE (((T1.champ1)=[t2].[clef]));
>> >
>> > donne finalement:
>> > T1
>> > --
>> > 1 TUTU
>> > 2 TATA
>> >
>> > On a bien updaté les champs Champ2 de T1 avec les
>> > valeurs du champ 'Valeur' de T2 en retrouvant
>> > l'enregitrement de T2 par sa Clef, trouvé dans
>> > T1(champ1). Le tout en une seule Query, sans boucle.
>> >
>> > --
>> > Jean-marc
>> > "There are only 10 kind of people
>> > those who understand binary and those who don't."
>> > mailto: remove '_no_spam_' ;
>> >
>> >
>> >
>>
>>
>
>