OVH Cloud OVH Cloud

tables bases de données et VB6:petit probleme

7 réponses
Avatar
PHIL
bonjour,

mon programme permet d'aller chercher des valeurs dans une bases de données
et les mettre dans un fichier excel.

le problème est que:
j'ai une table "client" et une autre "donnees"

dans cette table client:
j'ai le champ ID,et le champ texte
dans la table Donnees:
j'ai le champ ID, et le champ valeur

et je souhaite suivant que l'utilisateur saisi un id dans l'interface VB

aller copier sur ma feuille excel dans l'onglet 3,les differents champs
Texte et champ valeur correspondant à l'ID.

Merci

7 réponses

Avatar
Jean-Marc
Hello,
voici le principe:

Dim ID as Long ' supposons que c'est un long
DIM sqlQuery as String

ID = val(Text1.text) ' supposons que l'ID est saisi dans Text1

sqlQuery = "SELECT * FROM client, donnees WHERE client.ID=donnees.ID AND
client.ID=" & ID

' execute la requete disons dans un recordset

' Pseudo code
' execute la query sql via le recordsource par exemple
rs.recordsource = sqlQuery
' il n y a plus qu'à affecter
Cellule(x, y) = rs.ID
Cellule(x+1, y) = rs.texte
Cellule(x+2, y) = rs.Valeur

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



"PHIL" a écrit dans le message de
news:
bonjour,

mon programme permet d'aller chercher des valeurs dans une bases de


données
et les mettre dans un fichier excel.

le problème est que:
j'ai une table "client" et une autre "donnees"

dans cette table client:
j'ai le champ ID,et le champ texte
dans la table Donnees:
j'ai le champ ID, et le champ valeur

et je souhaite suivant que l'utilisateur saisi un id dans l'interface VB

aller copier sur ma feuille excel dans l'onglet 3,les differents champs
Texte et champ valeur correspondant à l'ID.

Merci





Avatar
PHIL
x et y tu ne les as pas déclaré.?


merci

"Jean-Marc" a écrit :

Hello,
voici le principe:

Dim ID as Long ' supposons que c'est un long
DIM sqlQuery as String

ID = val(Text1.text) ' supposons que l'ID est saisi dans Text1

sqlQuery = "SELECT * FROM client, donnees WHERE client.ID=donnees.ID AND
client.ID=" & ID

' execute la requete disons dans un recordset

' Pseudo code
' execute la query sql via le recordsource par exemple
rs.recordsource = sqlQuery
' il n y a plus qu'à affecter
Cellule(x, y) = rs.ID
Cellule(x+1, y) = rs.texte
Cellule(x+2, y) = rs.Valeur

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



"PHIL" a écrit dans le message de
news:
> bonjour,
>
> mon programme permet d'aller chercher des valeurs dans une bases de
données
> et les mettre dans un fichier excel.
>
> le problème est que:
> j'ai une table "client" et une autre "donnees"
>
> dans cette table client:
> j'ai le champ ID,et le champ texte
> dans la table Donnees:
> j'ai le champ ID, et le champ valeur
>
> et je souhaite suivant que l'utilisateur saisi un id dans l'interface VB
>
> aller copier sur ma feuille excel dans l'onglet 3,les differents champs
> Texte et champ valeur correspondant à l'ID.
>
> Merci
>
>
>





Avatar
gedeon
Salut,
voila une construction de base de données qui n'en est pas une !
s'il en est encore temps, je te conseille de renommer les colonnes ID de tes
tables.
J'ai pour habitude de prefixer les noms de colonnes par le suffixe des noms
de tables.
Ainsi :
table Clients ---> CLIENTS_CLI où les colonnes sont : cliID, cliNom
table Climats ---> CLIMATS_CLM où les colonnes sont : clmID,clmRegion, ...
Marre de l'économie de caractères dans le nommage des variables et des
colonnes de tables.
c'est sur, la saisie est plus rapide lorsque les variables ont 1 caractère
mais j'aimerais pas maintenir le code.
Quand on parle d'analyste programmeur, on n'est pas uniquement des pisseurs
de lignes, on est capable de mettre les méthodes en place pour faciliter le
développement.
c'etait ma gueulante pourt aujourd'hui.


"PHIL" a écrit dans le message de news:

bonjour,

mon programme permet d'aller chercher des valeurs dans une bases de
données
et les mettre dans un fichier excel.

le problème est que:
j'ai une table "client" et une autre "donnees"

dans cette table client:
j'ai le champ ID,et le champ texte
dans la table Donnees:
j'ai le champ ID, et le champ valeur

et je souhaite suivant que l'utilisateur saisi un id dans l'interface VB

aller copier sur ma feuille excel dans l'onglet 3,les differents champs
Texte et champ valeur correspondant à l'ID.

Merci





Avatar
Jean-Marc
non. Ce n'est pas du code VB que j'ai écrit. C'est du pseudo code, comme
indiqué dans mon commentaire:
' PSEUDO CODE

Ca veut dire que je t'ai donné l'idée générale, l'algorithme disons. Pour la
mise en oeuvre, c'est à toi de faire en fonction de ton vrai programme.
La requête SQL est bonne, en revanche.

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

"PHIL" a écrit dans le message de
news:
x et y tu ne les as pas déclaré.?


merci

"Jean-Marc" a écrit :

> Hello,
> voici le principe:
>
> Dim ID as Long ' supposons que c'est un long
> DIM sqlQuery as String
>
> ID = val(Text1.text) ' supposons que l'ID est saisi dans Text1
>
> sqlQuery = "SELECT * FROM client, donnees WHERE client.ID=donnees.ID


AND
> client.ID=" & ID
>
> ' execute la requete disons dans un recordset
>
> ' Pseudo code
> ' execute la query sql via le recordsource par exemple
> rs.recordsource = sqlQuery
> ' il n y a plus qu'à affecter
> Cellule(x, y) = rs.ID
> Cellule(x+1, y) = rs.texte
> Cellule(x+2, y) = rs.Valeur
>
> --
> Jean-marc
> "There are only 10 kind of people
> those who understand binary and those who don't."
>
>
>
> "PHIL" a écrit dans le message de
> news:
> > bonjour,
> >
> > mon programme permet d'aller chercher des valeurs dans une bases de
> données
> > et les mettre dans un fichier excel.
> >
> > le problème est que:
> > j'ai une table "client" et une autre "donnees"
> >
> > dans cette table client:
> > j'ai le champ ID,et le champ texte
> > dans la table Donnees:
> > j'ai le champ ID, et le champ valeur
> >
> > et je souhaite suivant que l'utilisateur saisi un id dans l'interface


VB
> >
> > aller copier sur ma feuille excel dans l'onglet 3,les differents


champs
> > Texte et champ valeur correspondant à l'ID.
> >
> > Merci
> >
> >
> >
>
>
>


Avatar
grchat
"Jean-Marc" a écrit :

Hello,
voici le principe:

Dim ID as Long ' supposons que c'est un long
DIM sqlQuery as String

ID = val(Text1.text) ' supposons que l'ID est saisi dans Text1

sqlQuery = "SELECT * FROM client, donnees WHERE client.ID=donnees.ID AND
client.ID=" & ID

' execute la requete disons dans un recordset

' Pseudo code
' execute la query sql via le recordsource par exemple
rs.recordsource = sqlQuery
' il n y a plus qu'à affecter
Cellule(x, y) = rs.ID
Cellule(x+1, y) = rs.texte
Cellule(x+2, y) = rs.Valeur

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



"PHIL" a écrit dans le message de
news:
> bonjour,
>
> mon programme permet d'aller chercher des valeurs dans une bases de
données
> et les mettre dans un fichier excel.
>
> le problème est que:
> j'ai une table "client" et une autre "donnees"
>
> dans cette table client:
> j'ai le champ ID,et le champ texte
> dans la table Donnees:
> j'ai le champ ID, et le champ valeur
>
> et je souhaite suivant que l'utilisateur saisi un id dans l'interface VB
>
> aller copier sur ma feuille excel dans l'onglet 3,les differents champs
> Texte et champ valeur correspondant à l'ID.
>
> Merci
>
>
>





Avatar
grchat
Dans VBA

J'utilise une base de données de 36200 lignes et une quarantaines de
colonnes (elle contient toutes les données de l'INSEE sur les communes de
France)
J'ai créé la zone "Base de données", la zone "Criteres" et la zone
"Extraction"
et même une barre d'outils pour effectuer les extractions avec les filtres
"élaboré " et "automatique"

La puissance de ce systeme est considérable, mais voici mon problème :

Je veux faire l'extraction selon deux critères : par exemple extraire toutes
les lignes dont la population (qui setrouve dans une colonne x ) est comprise
entre deux valeurs (par exemple > 10000 et < 20000)

Je n'ai trouvé qu'une solution : celle de dupliquer la colonne x donc avoir
deux colonnes du même intitulé et relatant les mêmes données : puis ecrire >
10000 en tant que critère dans la première et < 20000 dans la seconde .

cela marche très bien mais je voudrais ne pas avoir à dupliquer les colonnes .


Qui peut me donner la solution ??

Tous les programmeurs peuvent me contacter sur ma boite
je tiens à leur disposition gratis toute une série de
macros et une barre d'outils porur travailler avec les bases de données.
Avatar
Jean-Marc
"grchat" a écrit dans le message de
news:
Dans VBA

J'utilise une base de données de 36200 lignes et une quarantaines de
colonnes (elle contient toutes les données de l'INSEE sur les communes de
France)
J'ai créé la zone "Base de données", la zone "Criteres" et la zone
"Extraction"
et même une barre d'outils pour effectuer les extractions avec les filtres
"élaboré " et "automatique"

La puissance de ce systeme est considérable, mais voici mon problème :

Je veux faire l'extraction selon deux critères : par exemple extraire


toutes
les lignes dont la population (qui setrouve dans une colonne x ) est


comprise
entre deux valeurs (par exemple > 10000 et < 20000)

Je n'ai trouvé qu'une solution : celle de dupliquer la colonne x donc


avoir
deux colonnes du même intitulé et relatant les mêmes données : puis


ecrire >
10000 en tant que critère dans la première et < 20000 dans la seconde .

cela marche très bien mais je voudrais ne pas avoir à dupliquer les


colonnes .


Qui peut me donner la solution ??



Hello,

ta question a plus de chance de trouver une réponse sur le groupe consacré
à Excel: microsoft.public.fr.excel.

Cordialement,
--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."