Vous n'êtes pas identifié(e).

#1 08/07/2016 15:45:41

patrikAndré
Membre

VBA pour Excel afin de se connecter à Ma base PostgreSQL

J' ai une base de données crée sous PgAdminIII du stock de tissus d'une entreprise, je voudrais créer un interface utilisateur où un opérateur quelconque tape juste la référence d'un tissus donné et le système l'imprime un ticket lui indiquant l'emplacement du tissus dans le magasin.

- Je travaille sous Win8, j'utilise Miscrosoft Excel 2013, et PostgreSQL9.5
- J'ai crée ma base
- J'ai crée ou configurer un DSN nommé PostgreSQL9.5 (via une connexion ODBC)
- J'ai configuré VBA pour Excel pour connecter Excel à ma base de donné voici le code ci-dessous:


'######################################'
'connection'
'######################################'


Private Sub boutonConnection_Click()

'Déclaration de la variable de connexion'

Dim cnx As ADODB.Connection
Set cnx = New ADODB.Connection


'Définition de la chaîne de connexion'
cnx.ConnectionString = "DSN=" PostgreSQL9.5 ";UID=" postgres ";PWD=" dmd ";"

'Ouverture de la base de données'
cnx.Open

End Sub

'######################################'
'communication avec la base'
'######################################'

Public Function InitConnection(DSN As String, UserName As String, PassWord As String) As Boolean
  Dim query As String
  Dim cnxString As String
  Dim RequeteOk As Boolean
  Dim mRst As New ADODB.Recordset

  InitConnection = False
  'Initialisation de la chaine de connexion
  ADOCnx.ConnectionString = "DSN="PostgreSQL9.5";"

  'Vérifie que la connexion est bien fermée'
  If ADOCnx.State = adStateOpen Then
    ADOCnx.Close
  End If

  On Error GoTo BadConnection

  'Connexion à la base de données'
  ADOCnx.Open cnxString, postgres, dmd, adAsyncConnect

  'Attente que la connexion soit établie'
  While (ADOCnx.State = adStateConnecting)
    DoEvents
   Wend

  'Vérification des erreurs dans le cas d'une mauvaise connexion'
  If ADOCnx.Errors.Count > 0 Then

    'Affichage des erreurs'
    MsgBox ADOCnx.Errors.Item(0)
    InitConnection = False
    Exit Function
  Else
    InitConnection = True
   End If
   Exit Function

BadConnection:
If ADOCnx.Errors.Count > 0 Then

    'Affichage des erreurs'
    MsgBox ADOCnx.Errors.Item(0)
    InitConnection = False
    Exit Function
Else
    MsgBox err.Description

End If
End Function



à ce niveau je soolicite votre Aide, car je ne sais plus comment procéder. je n'ai qu'un bouton sur me feuille excel, je clique dessus et rien ne se passe.
j'aurai plutôt voulu un bouton où je peux taper une référence et lancer l'impression d'un ticket.

Merci de votre aide
Cordialement,
Patrik

Hors ligne

#2 09/07/2016 16:02:15

gleu
Administrateur

Re : VBA pour Excel afin de se connecter à Ma base PostgreSQL

Il vaut mieux se tourner vers un forum sur l'écriture de ce type de macros. Personne ici ne pourra vous aider là-dessus.


Guillaume.

Hors ligne

Pied de page des forums