VBAでODBC接続


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
vol213

これならわかるマイクロソフトアクセス活用法
            -->VBAでODBC接続
              
発行者:高内 章治 2014年8月 6日
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
┏ 今日の内容 ━━━━━━━━━━━━━━━━━━━━━━━━┓

┃【01 - ご挨拶    】
┃【02 - トピックス  】VBAでODBC接続

┃【03 - 編集後記    】

┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛

─────────────────────────────────
【01 - ご挨拶    】          
─────────────────────────────────

こんにちは、高内(こうない)です。

今回は、

「VBAでODBC接続」

についてお話したいと思います。




─────────────────────────────────

【02 - トピックス】: VBAでODBC接続

─────────────────────────────────

お客様から質問がありました。

VBAの中で、ODBCで接続する方法です。

SQL ServerのテーブルにAccessでリンクする場合、通常はODBCを使って接続します。

Access2010までは、ADPを使うと、直接、接続できましたが、Access2013からは、ADPの機能はなくなりました。
今後は、ODBCで接続するしかありません。

まず、ODBCの中でSQL Serverのデータベースに接続する設定をおこないます。
Windowsのコントーロールパネル、管理ツールの中のODBCを使って設定します。

次に、Accessのプログラムから、そのODBCにリンクします。

こうすると、Accessのプログラムを立ち上げると、自動的にSQL Serverのテーブルに接続します。

通常のAccessのテーブルのように使用することができます。

私は、この方法の方が多いですね。

でも、VBAの中で、ODBCを使って、SQL Serverに接続したい場合があります。

Accessの中でリンクをしなくても、SQL Serverのテーブルに接続することができます。


VBAのサンプルです。
ADOを使っています。

以下の例は、「test3」という、ODBCを使って接続しています。
IDは「sa」(System Administrator)です。

SQL Serverのテーブルを開いて、コードが重複していないかチェックしています。

************************

Dim cn As ADODB.Connection
Dim rst As ADODB.Recordset
Dim ret As Integer
Dim Code As String


'重複チェック
Set cn = New ADODB.Connection
'Set cn = CurrentProject.Connection
Set rst = New ADODB.Recordset

cn.ConnectionString = " Provider=MSDASQL;DSN=test3;User ID=sa;Password=xxxxxxxx;"

cn.Open
rst.Open "dbo.M_CUSTOMER", cn, adOpenStatic, adLockReadOnly

Code = "ODT1"

strCriteria = "CUST_NAME= '" & Code & "'"

rst.Find strCriteria


If rst.EOF Then
'
Else
Beep
ret = MsgBox("顧客名が重複しています。変更してください。", _
vbOKOnly + vbInformation, "ユーザー名入力")
Cancel = True
End If

rst.CLOSE: Set rst = Nothing
cn.CLOSE: Set cn = Nothing

End Sub

***********************


参考にしてください。



─────────────────────────────────
【03 - 編集後記    】       
─────────────────────────────────

暑い日が続いています。

台風の影響もあって、四国では、雨がすごいですね。
ゲリラ豪雨です。

川の氾濫や、道路が水浸しになっています。
土砂災害も起こっています。

最近は、温暖化の影響でしょうか、
異常気象ですね。

十分に気をつける必要があります。

熱中症にも気を付けましょう。


◆私がアクセスをマスターできたのは!!
http://www.sk-access.com/kyozai/zaiko1.html  

テーブル作成からVBAまでマスターできます。 
「在庫管理システムをアクセスで作ってみよう」教材です。
http://www.sk-access.com/kyozai/zaiko2.html  


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
●ご意見・ご感想・ご質問
 
『メルマガでもっとお役にたてる情報を配信したいと思いますので、日ごろから疑問に思っていることを教えてください。
宛先はこちらへです』

  •  kohnai★vega.ocn.ne.jp
      (高内:こうない:)
    (メールするときは、★を@に変えてください)

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━


◎「これならわかるマイクロソフトアクセス活用法」 のバックナンバー・配信停止はこちら

archive.mag2.com/0000222659/index.html

◎以下のホームページからでもバックナンバーを見ることができます。

http://www.sk-access.com/mailmaga/index.html

登録・解除につきましてはご自身でお願いいたします。

※このメールマガジンの転送はOKですが、掲載された記事の内容を許可無く転載することをを禁止させて頂きます。
必ず事前にご相談ください。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━


1週間でアクセス(Access)のシステム開発ができる〜
「在庫管理システムをアクセスで作ってみよう」教材

「アクセスのプログラム/システムを短期間で開発したい方」、
「アクセスのフォーム/VBAを完全にマスターしたい方」のための
アクセス(Access)を使って1週間でシステム開発する究極の方法とは?

「アクセス(Access)のシステムを無料のSQL Server 2016 Expressへ
移行してみよう」教材

あなたの会社のアクセス(Access)のデータベースやシステムに不安を感じていませんか?
アクセスのデータ量が多くなり処理スピードが遅くなった。
アクセスのデータを共有したい。
セキュリティに不安がある。などと、感じている方は!!
(SQL Server 2016 Expressバージョンです。)


「アクセス(Access)プログラムの仕様書の作り方」教材
マイクロソフトアクセスを使用して、プログラムの作成/システム開発をおこないたい方の為に、
アクセス(Access)のプログラム開発に成功するために絶対に必要な「仕様書」とは?



[↑一番上へ]
[マイクロソフトアクセス活用法(メールマガジン)(ホームへ)]
12:350603

アクセス全体

VBA

SQL Server