Laison Access et Lotus notes

fraysco
Laison Access et Lotus notes

Salut tout le monde,

Je suis apprenti en DUT Informatique premère année et j'ai créer une base de données "Access" afin de gérer un des projets de mon entreprise.
Afin d'automatiser celle ci, j'aimerai récupérer des données se trouvant sur une base de données de mon entreprise qui a été conçue sur "Lotus Notes".
J'aimerai d'abord savoir si c'est possible, et si c'est possible, pourriez vous m'indiquer la démarche à suivre s'il vous plait?
Je vous en remercie d'avance.

fredericmazue

Bonjour,

Je dois avouer que je n'ai jamais travaillé avec Lotus Notes.
Si je ne me trompe Lotus Notes est une abse de données object et son API est très particulière...
Si j'avais à faire ton travail sous windows et le plus simplement possible, je configurerais pour avoir la base Lotus en source de données ODBC. Je crois qu'il y a un outil qui fait ça. ODBC Notes ou NotesSQl je ne sais plus.

Ayant le source j'écrirais un petit programme (langage au choix, choix qui est vaste) pour extraire les données Lotus et les injecter dans Access, toujours via ODBC. C'est ce qui me parait le plus simple.

En espérant avoir répondu à ta question

Stéphane Maillard

Bonjour,

Plusieurs solutions, soit faire une vue dans la base Lotus avec les infos que tu veux et faire un export en Excel ou Fichier et récupèrer ton fichier dans Access.

Autrement utilisé les connexion de type ODBC, un petit exemple =>

Option Public 
Uselsx "*LSXODBC" 

Sub Initialize 
Dim conn As New ODBCConnection 
Dim qry As New ODBCQuery 
Dim result As New ODBCResultSet 
Dim Result1 As New ODBCResultSet 
Dim doc As NotesDocument 
Dim session As New NotesSession 
Dim db As NotesDatabase 
Set db=Session.CurrentDatabase 
Dim col(11) As String 
Dim TableName As String 
TableName="Hack" 
Dim nombre As Integer 

If conn.ConnectTo("TestHack") Then 
Set qry.Connection = conn 

For boucle = 1 To 10 
qry.SQL = "INSERT INTO " & TableName & " (ENCRYPTE,CLAIR) VALUES 
" & "('" & boucle & " ','BOZO1')" 
Set result1.Query = qry 
Call result1.Execute() 
Next 

Else 
Messagebox("Impossible de se connecter au serveur") 
End If 
Call result.close(DB_Close) 
Call conn.disconnect 
End Sub

Cordialement

Stéphane Maillard
http://www.dominoarea.org

skinage
mot de passe

construit une application sur access est j'aimerai bein securise ma base de donneé

skaiffer

C'est un peu tard, mmais peut-être cela servira à d'autres

je connais 2 methodes :
- le driver ODBC NotesSQL qui permet d'effectuer des requetes SQL et l'on peut simplement lier les tables dasn Access après avoir créer l'ebntrée odbc

- l'automation OLE, avec un client Notes lancé on peut le piloter par script.
ci-joint un exemple d'envoire de mail par Excel ou vbs (avev une piece jointe & une section notes).
On peut aussi extraire les données de la base, par cntre pourune base il faut connaitre la structure (les différentes champs). On peut l'obtenir avec un clik droit/propriétés sur un document et le 2eme onglet,(champs/fields)

Sub SendMail()
'Lotus Notes Definition
Dim Maildb As Object 'The mail database
Dim strUserName As String 'The current users notes name
Dim session As Object 'The notes session
Dim EmbedObj As Object 'The embedded object (Attachment)

'End Lotus definition

Dim strSendTo As String
strSendTo = "destinataire"

pstrCopyTo = ""
pstrSubject = "Test envoie fichier"
pstrBody = "salut"
On Error GoTo EndToSend:

'Start a session to notes
Set session = CreateObject("Notes.NotesSession")
'Get Current user
strUserName = session.Username
'Open the mail database in notes
Set Maildb = session.GETDATABASE("MAILSERVER", "mail\Mail3\myuser.nsf")
If Maildb.IsOpen = False Then 'Not already open for mail
Maildb.OPENMAIL
End If

'Create new memo
Set MailDoc = Maildb.CREATEDOCUMENT
MailDoc.Form = "Memo"
MailDoc.SendTo = strSendTo
MailDoc.CopyTo = pstrCopyTo
MailDoc.Subject = pstrSubject
'*********************************************************************************

Call MiseEnPage(MailDoc, session)

'*********************************************************************************
MailDoc.SAVEMESSAGEONSEND = True
MailDoc.From = strUserName

'Send the memo
MailDoc.PostedDate = Now() 'Gets the mail to appear in the sent items folder
MailDoc.Send 0

'Clean Up
Set Maildb = Nothing
Set MailDoc = Nothing
Set session = Nothing
Exit Sub
EndToSend:
Dim strMsg As String
Dim intStyle As Integer
Dim strTitle As String
Dim intResponse As Integer
'Error message
Debug.Print Err.Description
strMsg = "Une erreur est survenue lors de l'envoie du mail!!" ' Message.
intStyle = vbOKOnly ' Buttons.
strTitle = "Erreur d'envoie" ' Title.
intResponse = MsgBox(strMsg, intStyle, strTitle)
End Sub

Sub MiseEnPage(MailDoc, session)

Dim rtstyle: Set rtstyle = session.CREATERICHTEXTSTYLE
Dim rtstyle2: Set rtstyle2 = session.CREATERICHTEXTSTYLE
Dim colorObject: Set colorObject = session.CREATECOLOROBJECT
Dim body: Set body = MailDoc.CREATERICHTEXTITEM("Body")

rtstyle.Bold = True
rtstyle.NOTESFONT = 2
rtstyle.FontSize = 12
rtstyle2.NOTESFONT = 0
rtstyle2.NOTESCOLOR = 6
rtstyle2.FontSize = 16
colorObject.NOTESCOLOR = 12


Call body.APPENDSTYLE(rtstyle)
Call body.APPENDTEXT("Ligen dasn body.")

Call body.APPENDSTYLE(rtstyle2)
Call body.BEGINSECTION("Section name", rtstyle, colorObject)
Call body.APPENDTEXT("TEXTE ICI")
Call body.ADDNEWLINE(1)
Call body.ENDSECTION
Call body.APPENDTEXT("FIN de texte")
Call body.APPENDTEXT(Chr(13))
Call body.APPENDTEXT("FIN de texte2")

Set body = Nothing

End Sub