Bonjour,
j'ai créé une petite macro dans excell 2007 qui
1-ouvre une Forms avec 2 champs usr&psswd et 2 boutons ok & cancel
2-un script qui se connecte à une db postgrsql en utilisant les données de connexion renseignées(user et passwd) et qui affiche le résultat d'un query dans la feuille
c'est donc relativement simple.
Le problème se trouve à la fin de l'exécution de la macro...
si dans la Forms je clique sur cancel,il fait ce qu'il faut...rien, il reste dans la feuille excell comme si on avait rien fait
si dans la Forms j'encode un usr/passwd valide et que je clique sur ok...il exécute bien la requête,il affiche bien le résultat dans excell mais ...il revient en mode édition sur la forms (il ouvre donc l'éditeur de forms)au lieu de rester dans la feuille excell...
voici le script...une idée?
Load frmConnex
frmConnex.Show
Dim user As String
Dim passwd As String
user = frmConnex.txtUser
passwd = frmConnex.txtPasswd
If frmConnex.blnCancel = True Then
Unload frmConnex
Exit Sub
End If
Unload frmConnex
Application.Goto Reference:="gesdos_connex"
Dim objDb_con
Dim strSomeValue As String
Set objDb_con = CreateObject("ADODB.Connection")
Set Rsdatatype = CreateObject("ADODB.RecordSet")
glbConnString = "Driver={PostgreSQL Unicode};Database=statistics;server=sd1833v;port=5433;UID=" + user + ";Pwd=" + passwd
If glbConnString = "" Then
MsgBox "Enter the Connection String"
Else:
objDb_con.Open glbConnString
strSql = "select xxxx " & _
" from xxx" & _
" join xxx" & _
" where xxx"
Set Rsdatatype = objDb_con.Execute(strSql)
Columns("A:E").ClearContents
[A2].CopyFromRecordset Rsdatatype
Rsdatatype.Close
End If
objDb_con.Close
Set Rsdatatype = Nothing
Set objDb_con = Nothing
Exit Sub
End Sub
j'ai créé une petite macro dans excell 2007 qui
1-ouvre une Forms avec 2 champs usr&psswd et 2 boutons ok & cancel
2-un script qui se connecte à une db postgrsql en utilisant les données de connexion renseignées(user et passwd) et qui affiche le résultat d'un query dans la feuille
c'est donc relativement simple.
Le problème se trouve à la fin de l'exécution de la macro...
si dans la Forms je clique sur cancel,il fait ce qu'il faut...rien, il reste dans la feuille excell comme si on avait rien fait
si dans la Forms j'encode un usr/passwd valide et que je clique sur ok...il exécute bien la requête,il affiche bien le résultat dans excell mais ...il revient en mode édition sur la forms (il ouvre donc l'éditeur de forms)au lieu de rester dans la feuille excell...
voici le script...une idée?
Load frmConnex
frmConnex.Show
Dim user As String
Dim passwd As String
user = frmConnex.txtUser
passwd = frmConnex.txtPasswd
If frmConnex.blnCancel = True Then
Unload frmConnex
Exit Sub
End If
Unload frmConnex
Application.Goto Reference:="gesdos_connex"
Dim objDb_con
Dim strSomeValue As String
Set objDb_con = CreateObject("ADODB.Connection")
Set Rsdatatype = CreateObject("ADODB.RecordSet")
glbConnString = "Driver={PostgreSQL Unicode};Database=statistics;server=sd1833v;port=5433;UID=" + user + ";Pwd=" + passwd
If glbConnString = "" Then
MsgBox "Enter the Connection String"
Else:
objDb_con.Open glbConnString
strSql = "select xxxx " & _
" from xxx" & _
" join xxx" & _
" where xxx"
Set Rsdatatype = objDb_con.Execute(strSql)
Columns("A:E").ClearContents
[A2].CopyFromRecordset Rsdatatype
Rsdatatype.Close
End If
objDb_con.Close
Set Rsdatatype = Nothing
Set objDb_con = Nothing
Exit Sub
End Sub
Aucun commentaire:
Enregistrer un commentaire