VB6.0用掲示板の過去のログ(No.1)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [過去ログ] [管理用]

投稿日: 2004/06/18(Fri) 17:40
投稿者旅人A
Eメール
URL
タイトルRe: exeだとエラー

根本的な解決にはなってないですが、こうしたらどうかという案を。

kamurinさんのやろうとしてることを纏めると
1.全てのレコードをレコードセット
2.一致するカルテの取得
3.一致するカルテの判定
3−A.(カルテがある場合)
  メッセージボックスで表示確認
3−B.任意のカルテ情報をもつレコードをレコードセット

こんな感じかと思います。

(気になるところ)
1.テキストボックスに表示するのは最初に見つかったレコードの氏名でいいのか?
2.一回目のレコードセット閉じてないのに同じ変数で新しいレコードセットをしてる
3.(多分AccessをDAOで接続してると思うけど・・)SQLの最後にセミコロン(;)がない
4.カルテIDは紹介者なのに、「'」はいらない?

(Source)
Dim SQLStr As String
Dim Flg As Boolean
Dim Syoukaisya As String
Dim Simei As String

  Flg = 0'初期化
  SQLStr = ""
  Syoukaisya = ""
  Simei = ""
----------------------------中略-------------------------------(DBのSetなど)
  SQLStr = "SELECT * FROM T_カルテ情報 WHERE 電話番号 = '" & imMask1.Value & "';"
  Set rs_T_カルテ情報 = db.OpenRecordset(SQLSTR, dbOpenDynaset)

  'レコード数を取得して、データがあるかないかをチェック
  If rs_T_カルテ情報.Recordcount > 0 Then
    Flg = True
    'ヒットしたカルテ情報の最初の紹介者を取得
    rs_T_カルテ情報.MoveFirst
'    Simei = rs_T_カルテ情報!氏名
'    Syoukaisya = rs_T_カルテ情報!紹介者
    Simei = rs_T_カルテ情報("氏名").Value
    Syoukaisya = rs_T_カルテ情報("紹介者").Value
  Else
    Flg = False
  End If
  'レコードセットクローズ!!
  rs_T_カルテ情報.Close

  If Flg = True Then
    LongMsg = "該当するカルテがありました。" & vbCrLf
    LongMsg = LongMsg & "「表示」しますか?"

    If MsgBox(LongMsg, vbYesNo, "表示確認") = vbYes Then
      imText1(3).Text = Simei

      SQLStr = ""
      SQLStr = "SELECT * FROM T_カルテ情報 WHERE カルテID = '" & Syoukaisya & "';"
      Set rs_T_カルテ情報 = db.OpenRecordset(SQLStr, dbOpenDynaset)
                
      If rs_T_カルテ情報.BOF = False Then
      Else
      End If

      rs_T_カルテ情報.Close
    End If
  End If

  ※見た目だけで実際には動かしてないので漏れなどあるかもしれません。


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- Web Forum -