2009-06-17 14 views
0

私はレポートを自動的に実行するためにAccessデータベースを設定することに興味があります。可能であれば、各クライアントコンピュータに行き、適切なDSNを設定する手間を省くために、VBスクリプト自体にODBC接続を設定したいと思います。VBAを使用してODBC経由でLotusに接続する方法を教えてください。

私はグーグルでこのサイトをチェックして、良いスタートコードを見つけましたが、すべてのエラーメッセージを表示させるには不十分です。誰かが以下のコードを完成できますか?私が最初に正しくあなたの質問に従わなかったhttp://www.connectionstrings.com/access

Sub SetupODBC(Str_Server as string, Str_Db as string) 
'Str_Server=Name of Server 
'Str_db=Name of Database 
Dim C as ADODB.Connection 
Set C = new ADODB.Connection 
C.ConnectionString = ?? 
C.Open 
Debug.print C.State 
Exit Sub 
+0

AccessからLotus NotesまたはLotus NotesからAccessに接続しようとしていますか? 最初のレポートの場合は、どのタイプのレポートを生成していますか?おそらく、スケジュールされたエージェントを使ってノート内で直接行うことができます。 – Carlos

答えて

1

ようこそ取得しています。 ConnectionStringsは確かにあなたの友人ですが、問題はあなたがドライバを持っていないということです:) Lotus Notesはリレーショナルデータベースではなく、document oriented databaseです。歴史的には、その理由からリレーショナルデータベースのようにアクセスする方法はありませんでした。しかし、IBMは結局、NotesSQLという形式の翻訳者を書いていました。リンクをたどってドライバを入手すると、ODBCを使用できるはずです。 NotesがCOMに自身を公開することは注目に値する。だから押しが押されるとあなたはクライアントを自動化することができます。

+0

詳細を説明していただきありがとうございます。 – PowerUser

+0

ドライバーをDLdした後で物事を進めることができましたか? – Oorang

+0

はい、うまくいきました。しかし、とにかくすべてのクライアントマシンにドライバをインストールする必要があったので、私がそこにいる間に手動でDSNを作成しました。助けてくれてありがとう。 – PowerUser

1

このサイトはあなたの友達です。私はあなたがLotus Notesデータを報告するためにLotusからAccessへのリンクを作成したいと思う。まあ、そうする方法はいくつかあります。

Lotus NotesデータをXMLとして公開し、リモートシステムからそのXMLにアクセスする方法をよく使用します。 XML開始タグ、ルート要素を使用してNotesページを簡単に作成し、ルート要素の間に埋め込みビューを挿入することができます。その埋め込みビューはHTMLとして表示され、xmlタグに解決される列を含む必要があります。たとえば、ビューの各行は、次のようになります。

<Person><FirstName>Ken</FirstName><LastName>Pespisa</LastName></Person> 

とあなたの列式は次のようになります。最初の名前列の

"<Person><FirstName>" + FirstName + "</FirstName>" 

、および姓列のためにそれは次のようになりこの:

"<LastName> + LastName + </LastName></Person>" 

注これはあなたのNotesサーバーは、HTTPサービスがオンになっていると、ブラウザ経由でデータベースに到達できることを前提としていること。

しかし、他の回答に記載されているように、NotesSQLやCOMなどの他の方法を使用することもできます。しかし、このソリューションを多くのワークステーションに搭載しているようですが、NotesSQLでは各ワークステーションにドライバをインストールする必要があります。 COMメソッドは、ユーザーのデスクで余分な作業を必要とせずに動作するので、私はこの場合、その解決策を好むでしょう。

0

1年後に更新されていなくても、私のニーズに合った素晴らしいサイトのように見えます。しかし、まだ葉巻はありません。今、私は、「データソース名が見つからないと、デフォルトのドライバーが指定されていない」ボードへ

(もちろん、ServerNameGoesHereとDatabaseNameGoesHereがsubsitutionsある)

Sub dbX() 
    Dim C As adodb.Connection 
    Set C = New adodb.Connection 
    C.Open _ 
     "Driver={Lotus NotesSQL 3.01 (32-bit) ODBC DRIVER (*.nsf)};" & _ 
     " Server=ServerNameGoesHere;" & _ 
     " Database=DatabaseNameGoesHere.nsf;" 
    C.Close 
End Sub 
+0

作成しようとしているレポートのタイプは何ですか? Lotus Notesで直接作成する方が簡単かもしれません。 – Carlos

+0

ありがとうございますが、Lotusの開発ツールの権限がありません。私は、Excelファイルを作成して保存しようとしています。以前は何度もVBAを使っていました。しかし、私がDSNレス接続を試みるのは初めてです。 – PowerUser

関連する問題