Vous n'êtes pas identifié(e).
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
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