初めて投稿致します。
AccessでフロントとDBとに別分けにして、リンクテーブルでADOで作成したものがあります。
DB部分をSQL-Serverにして、ネットワーク接続を試みておりますが、うまくいきません。調べ方が悪いことはわかるのですが、どのようなキーワードで調べれば良いか検討もつかず、ここに行き着きました。
環境ですが、
Windows7 Pro 64bit版に、Access2010とSQL-Server2014 Expressを入れて、ODBC設定やSQL-Serverからのリンクテーブル設定をして、これは稼働成功をしております。こちらのPCには、Access2010の開発ソフトをインストールしてあります。
この環境に対し、同じ社内のネットワーク上にある、Windows7 Pro 32bit版のパソコン(Accessの製品はなく、SQL-Server製品の類も全く無し)に、先ほどのAccess2010のフロント部分をコピーし、2010ランタイムも入れて、稼働させようとしたところ、
「実行時エラーが発生したため、このアプリケーションの実行は中断されました。アプリケーションを実行できません。システムはシャットダウンされました。」と表示され、稼働しません。
どのようにすればよろしいでしょうか?。
対処した内容は、
・accdbでODBC接続設定をしたものをaccdeに変換して配布
・ODBCの設定は、下記を参考としました
http://itdiary.info/microsoft-office/post-108/
・配布先PCには、Accessの開発環境は無い為、ランタイムをインストール
・配布先PCのAccessには、設定等の追加変更はしてない
・SQL-Serverの設定は、下記を参考としました
https://doublequotation.com/gift/20160217.pdf
・加えて、SQL-Serverへの接続をする為に、トップ画面のフォームロードに、下記コードを追加しました。
SQL-Server 2014 expressを入れた側のPCにおいて、
PC名:AAA
DB名:YYY
saアカウントで、パスはxxxxという具合のものとすると、
Dim cnnS As ADODB.Connection
Dim recW As ADODB.Recordset
Set cnnS = New ADODB.Connection
Set recW = New ADODB.Recordset
cnnS.Open "Provider=SQLOLE DB;" & _
"Data Source=AAA\SQLEXPRESS;" & _
"User ID=sa;" & _
"Password=xxxx;" & _
"Initial Catalog=YYY"
当方、元々制御系開発従事者で、DB系の開発は、Accessオンリーの小さな者しか経験ありません。
他のDB製品を使った開発経験はありません。
SQL-Serverのインストール設定も書籍を見よう見まねで今回設定してみました。
中小企業で、今回のは、基幹システムでもないので、常時接続は2・3人程度です。本来ならサーバー機とExpress以外の製品を購入して、となるのでしょうが、そんなお金はありませんし費用対効果がありません。よって、PCでなんとか実現したいと存じます。
よろしくご教授お願い致します。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

回答2件
0
まずは問題を切り分けるしかないんじゃないですか?
どこの関数の何の処理で落ちているのか判別するのが先決ですよね?
自分なら、デバッグモード(Public Const DebugMode As Boolean = True/False) を作り、
処理の要所要所で、デバッグモード時にログを出力するようにしておきますね。
環境で起こる障害は、デバッグが面倒なので、
初回で態勢を整えておいた方がベターかと。
投稿2017/12/11 07:10
総合スコア1175
0
ベストアンサー
その端末にODBCデータソースの設定はされていますか?
されている場合は、その端末にODBCドライバーはインストールされていますか?
因みにリンクテーブルは低速だった経験があります。
パススルークエリーにすると高速に動作しました。
※更新系は見直す必要がありますが。
追記
・ODBCの設定は、下記を参考としました
http://itdiary.info/microsoft-office/post-108/
上記を参考にされているということなので、ODBCデータソースの設定を行われているということであれば、
動作させたいPC毎に必要です。
さらにその前提として、接続文字列と合わせて推測すると、「Microsoft OLE DB Provider for SQL Server」のインストールが必要です。
SQL-Server2014 ExpressをインストールされているPCはインストール時に同時にインストールされているものと思われます。
odbcドライバーのインストール位ならバッチで簡単に済ませられるので、odbcドライバー経由の接続の方が良さげな気がします。
投稿2017/12/11 06:32
編集2017/12/12 01:38総合スコア25430
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/12/11 13:57
2017/12/12 00:33
2017/12/12 14:02