MSDE FunClub
Microsoft Data Engine FunClub
MSDE技術者向けメーリングリスト過去ログ[441]番
 
[TOP]>[MSDE技術者向けメーリングリスト過去ログ(441番)]>[ウィンドを閉じる]
 
SQLServer2005時代でも
開発の基本は T-SQL
上巻で T-SQL の基礎作り
 
SQLServer2005時代でも
運用の基本はバックアップ
下巻でバックアップ手法を学びましょう
PASSJ人気コンテンツで学んだ後は下巻でさらなる学習を!
 
ウィンドを閉じる
MSDE/SQLServer FAQ
MSDE / MSDE2000 
技術情報サポート
初心者向け
メーリングリスト
過去ログの表示
技術者向け
メーリングリスト
過去ログの表示
メーリングリスト
活動状況の
表示
MSDE TOP メニュー
MSDEトップメニューに移動します
 

 
RE: 通信エラーについて

Date: Tue, 6 Feb 2001 19:58:43 +0900
From: who@example.co.jp


たきざわです。

>それぞれのクライアントで接続の確認ができれば、80%は大丈夫でしょう
>ただアプリケーションを動かす前に、各クライアントからデータベースの
>テーブルやビューなどを手動で開いたり、ストアドプロシージャを実行
>したり、ネットワーク越しのクライアントサーバー機能が働くかどうか
>確認した方が良いかも?
一通りやってみましたが、特に問題なく開けるしストアドプロシージャも
実行出来ます。

>それだったらその特定のプログラムの中を調査しましたか?
>どのような原因追求をされたのでしょうか?
非常に長くなってしまって申し訳無いのですが、コードを掲載しないと解決
出来ないっぽいので、長くなる事をお許しください。

1つの例ですが、検索プログラムの様なものですが、フォームに12個のコンボ
ボックスまたはテキストボックスがあり、この12個のコントロールに入力され
た値を元に検索し、結果を別のフォームに返すというものです。
又、コマンドボタンとして、フォームを閉じる、検索開始、検索条件のクリアの
3つがあります。

いづれのコマンドボタンをクリックしても(下記(1)(4)(8)のコード)
 「イベントプロパティに指定した式 クリック時でエラーが発生しました。
  データベースがOLEサーバーまたはActiveXコントロールと通信している
  ときにエラーが発生しました。
となります。
(8)の場合は実際にデータベースとの接続が問題になってくるのでしょうが、
(1)(4)については、フォーム上のデータを消したり、フォームを閉じたり
といったデータベースの接続とは直接関係無い様に思えるのですが・・・。
エラーメッセージの「ActiveXコントロールと通信している時に・・・」と
いうところでひっかかってるのかな?とも思いますが、まだまだ初心者であ
る為に「ActiveXコントロールと通信」がエラーになるというのがどういう事
なのかも分からない状態であります。

以下、該当個所のコードの関係する所と思われる部分抜粋
  ※まだまだ初心者なもんで、コードが幼稚で恥ずかしいんですが・・(-_-;)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
(1)フォームを閉じるボタンのコード
     Private Sub cmd_close_Click()
       DoCmd.Close
     End Sub
(2)フォームが表示された時に自動的に実行されるコード
     Private Sub Form_Load()
        DoCmd.Maximize
        Set Me.Recordset = Nothing
        '----<接続を開始>----
        Call Connect_cur
        End Sub
(3)フォームを閉じる時に自動的に実行されるコード
     Private Sub Form_Unload(Cancel As Integer)
             '----<接続を閉じる>----
              Call DisConnect_cur
        End Sub

(4)テキスト・コンボに入力されたデータをクリアするコード
     Private Sub cmd_解除_Click()
        Call データクリア(Me)
     End Sub
(5)標準モジュールに記載されたデータベース接続コード
     Sub Connect_cur()
         '----<データベース接続する>----
         Set CN = Application.CurrentProject.Connection
         CN.CursorLocation = adUseClient
    End Sub
(6)標準モジュールに記載されたデータベース切断コード
     Sub DisConnect_cur()
         '----<データベース接続を閉じる>----
          CN.Close
          Set CN = Nothing
    End Sub
(7)標準モジュールに記載された条件をクリアするコード
     Sub データクリア(フォーム)
       On Error Resume Next
       Set FRM = フォーム
          For Each コントロール In FRM.Controls
                 If TypeOf コントロール Is TextBox Or _
               TypeOf コントロール Is ComboBox Then
               コントロール.Value = ""
                 End If
          Next
    End Sub
(8)フォームの検索開始ボタンモジュール
Sub cmd_start_click()

'----<変数の定義>----
   Dim KEY(1 To 11) As String
   Dim Criteria As String
   Dim CrLen As Integer
   Dim I As Integer

'----<抽出条件の読み込み>----
   '----<漢字氏名>----
   If IsNull(Me!txt_氏名) Or Me!txt_氏名 = "" Then
      KEY(1) = ""
   Else
      KEY(1) = "(氏名 LIKE '%" & Me!txt_氏名 & "%')"
   End If
   '----<裁判所選択>----
   If IsNull(Me!cbo_裁判所名) Or Me!cbo_裁判所名 = "" Then
      KEY(2) = ""
   Else
      KEY(2) = "裁判所名='" & Me!cbo_裁判所名 & "'"
   End If
   '----<裁判所種別選択>----
   If IsNull(Me!cbo_裁判所種別) Or Me!cbo_裁判所種別 = "" Then
      KEY(3) = ""
   Else
      KEY(3) = "裁判所種別='" & Me!cbo_裁判所種別 & "'"
   End If
   '----<裁判所選択>----
   If IsNull(Me!cbo_地裁家裁支部名) Or Me!cbo_地裁家裁支部名 = "" Then
      KEY(4) = ""
   Else
      KEY(4) = "地裁家裁支部名='" & Me!cbo_地裁家裁支部名 & "'"
   End If
   '----<事件番号年>----
   If IsNull(Me!txt_事件�眷�) Or Me!txt_事件�眷� = "" Then
      KEY(5) = ""
   Else
      KEY(5) = "([事件�眷�]= Me!txt_事件�眷�)"
   End If
   '----<事件�盖�号>----
   If IsNull(Me!cbo_事件�盖�号) Or Me!cbo_事件�盖�号 = "" Then
      KEY(6) = ""
   Else
      KEY(6) = "[事件�盖�号]='" & Me!cbo_事件�盖�号 & "'"
   End If
   '----<事件番号番号>----
   If IsNull(Me!txt_事件�眸峭�) Or Me!txt_事件�眸峭� = "" Then
      KEY(7) = ""
   Else
      KEY(7) = "([事件�眸峭�]=" & Me!txt_事件�眸峭� & ")"
   End If
   '----<担当社員>----
   If IsNull(Me!cbo_社員氏名) Or Me!cbo_社員氏名 = "" Then
      KEY(8) = ""
   Else
      KEY(8) = "(社員氏名='" & Me!cbo_社員氏名 & "')"
   End If
   '----<コメント>----
   If IsNull(Me!txt_コメント) Or Me!txt_コメント = "" Then
      KEY(9) = ""
   Else
      KEY(9) = "(コメント LIKE '%" & Me!txt_コメント & "%')"
   End If
   '----<法務手続状況>----
   If IsNull(Me!cbo_法務手続状況) Or Me!cbo_法務手続状況 = "" Then
      KEY(10) = ""
   Else
      KEY(10) = "(法務手続状況='" & Me!cbo_法務手続状況 & "')"
   End If
   '----<支店選択>----
   If IsNull(Me!cbo_支店) Or Me!cbo_支店 = "全支店" Or Me!cbo_支店 = ""
Then
      KEY(11) = ""
   Else
      KEY(11) = "店名='" & Me!cbo_支店 & "'"
   End If


'----<抽出条件の設定>----
   For I = 1 To 11
      If KEY(I) = "" Then
         '
      Else
         Criteria = Criteria & KEY(I) & " AND "
      End If
   Next I

'----<条件が設定されてない場合は処理を抜ける>----
   If Criteria = "" Then Exit Sub

'----<文字列作成<FOR~NEXTで最後についたANDを除く>----
   CrLen = Len(Criteria)
   Criteria = Left(Criteria, CrLen - 5)

'----<フィルタの実行>----
   DoCmd.OpenForm "K_法務手続検索_結果", , , Criteria  'ここで別の結果表
示用のフォーム
                             が表示される。


End Sub










[MSDE/SQLServerに関して、今、どんなことにお困りですか?]
よろしければお困りの内容を、電子メールで教えて下さい。
質問を電子メールで作成する


[ウィンドを閉じる]

[MSDE/SQLServer FAQ ]

[MSDE / MSDE2000 技術サポート情報一覧]

MSDE TOP ページに移動する

 
 
 
 
 
 
 
MSDE FunClubに関するご意見・ご要望等ございましたら、
msdefun@horikawa.ne.jp までご連絡下さい。
MSDEを始めとする各種データベースシステムの開発、コンサルタントに関するご要望等は、
msdedev@horikawa.ne.jp までご連絡下さい。