Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


419 / 500 ページ ←次へ | 前へ→

【4807】AccessとHiRDBのリンクが分かりません
質問  さいとう  - 05/4/5(火) 14:28 -

引用なし
パスワード
   初めまして。初めて質問させて頂きます。

HiRDBでAというテーブルとカラムを作成し、データを数個入れました。
Accessでそのデータを見たいのですが、
リンクの方法が分かりません。
もし宜しかったらお力をお貸し頂けないでしょうか。
どうぞ宜しくお願い致します。

さいとう
・ツリー全体表示

【4806】オプショングループで選択できない場合が...
質問  こうへい  - 05/4/4(月) 23:11 -

引用なし
パスワード
   ACCESS 2000をWINDOWS XPで使用しています。帳票形式のフォームに非連結のオプショングループを貼り付けました。ところがあるフォームではクリックすれば値に変化があるんですがあるフォームでは変化しません。色々なフォームを作成して試みているんですが、どの場合が良くてどの場合が悪いのかさっぱりわからないのです。どなたか教えていただけませんか。
・ツリー全体表示

【4805】Re:実行時エラー438
発言  小僧  - 05/4/4(月) 15:55 -

引用なし
パスワード
   ▼トミー さん:
>フォームでオプショングループで作成した項目からオプション値に基いて処理を実行したらエラーコード:438(オブジェクトはこのプロパティまたはメソッドをサポートしていません)が表示されました。このエラーの意味と対処方法をお教え下さい。
>環境はwin98 office2000を使っています。

ご提示された内容だけですと、
エラーの原因が掴みにくいと思われます。
宜しかったらエラーが発生してしまったコードを
提示して頂けると回答がつきやすいかと思います。
・ツリー全体表示

【4804】実行時エラー438
質問  トミー  - 05/4/4(月) 15:27 -

引用なし
パスワード
   フォームでオプショングループで作成した項目からオプション値に基いて処理を実行したらエラーコード:438(オブジェクトはこのプロパティまたはメソッドをサポートしていません)が表示されました。このエラーの意味と対処方法をお教え下さい。
環境はwin98 office2000を使っています。
・ツリー全体表示

【4803】Re:フォームの再表示
お礼  水無月  - 05/4/4(月) 14:46 -

引用なし
パスワード
   ありがとうございます!
上手くいきました。
また何かあったらご指導宜しくお願いします。
・ツリー全体表示

【4802】Re:FindFirstについて質問です。
お礼  はじめまして  - 05/4/4(月) 14:44 -

引用なし
パスワード
   小僧さん

動きました!!
ありがとうございます。

未熟ですが、頑張りますので、
これからも、よろしくお願い致します。
・ツリー全体表示

【4801】Re:FindFirstについて質問です。
回答  小僧  - 05/4/4(月) 14:25 -

引用なし
パスワード
   ▼はじめまして さん:
カタカナだったフィールド名[コード]を
[CODE]に変更してあります。

Sub Test1()
  Dim db As Database
  Dim rstMain As Recordset
  Dim rstSub As Recordset
  Dim rstNG_D As Recordset
  Dim nChk As Integer

  Set db = CurrentDb()
  Set rstMain = db.OpenRecordset("T_顧客", dbOpenDynaset)
  Set rstSub = db.OpenRecordset("T_情報", dbOpenDynaset)
  Set rstNG_D = db.OpenRecordset("NG_D", dbOpenDynaset)
 
  Do Until rstMain.EOF
    rstSub.FindFirst "[CODE]=" & rstMain![CODE]
      
    If rstSub.NoMatch = True Then
      rstNG_D.AddNew
        rstNG_D![CODE] = rstMain![CODE]
      rstNG_D.Update
    Else
      'Do Until rstSub.EOF
→変更   Do Until rstSub.NoMatch
        nChk = rstSub![CHK1]
        '// この処理は省略・・
      'rstSub.MoveNext
      rstSub.FindNext "[CODE]=" & rstMain![CODE]
      Loop
    End If
    rstMain.MoveNext
  Loop

→追加  rstNG_D.Close: Set rstNG_D = Nothing
  rstSub.Close: Set rstSub = Nothing
  rstMain.Close: Set rstMain = Nothing
End Sub

こんな感じでいかがでしょうか?
・ツリー全体表示

【4800】FindFirstについて質問です。
質問  はじめまして  - 05/4/4(月) 13:43 -

引用なし
パスワード
   以下のプログラムで顧客テーブルから登録番号が一致するものに対してチェックを行い、
一致しないものはNGTBLに新規登録したいのですが、レコードの抽出が上手くいきません。 
コード1の時、T_情報の全情報が取得されます。
コード2の時、正しく、NGTBLに登録。
コード3の時、正しく、コード値3の情報のみ取得します。
多分検索条件が悪いと思うのですがどうしていいか?です。宜しかった教えてください。
<データ>
T_顧客 FLDコード
      1
      2    
      3
T_情報 FLDコード FLDCHK1
      1    0
      1    0
      3    1
      3    1

  Dim db As Database
  Dim rstMain As Recordset
  Dim rstSub As Recordset
  Dim rstNG_D As Recordset
  Dim nChk As Integer

  Set db = CurrentDb()
  Set rstMain = db.OpenRecordset("T_顧客", dbOpenDynaset)
  Set rstSub = db.OpenRecordset("T_情報", dbOpenDynaset)
  Set rstNG_D = db.OpenRecordset("NG_D", dbOpenDynaset)
  
  rstMain.MoveFirst 
  Do Until rstMain.EOF

    rstSub.MoveFirst 
    rstSub.FindFirst "コード=" & rstMain!コード
        
    If rstSub.NoMatch = True Then
      rstNG_D.AddNew
        rstNG_D!コード = rstMain!コード
      rstNG_D.Update
    Else

      Do Until rstSub.EOF
           
        nChk = rstSub!CHK1
        
        // この処理は省略・・
      rstSub.MoveNext
      Loop
    End If
    rstMain.MoveNext
  Loop
  rstSub.Close: Set rstSub = Nothing
  rstMain.Close: Set rstMain = Nothing
・ツリー全体表示

【4799】Re:フォームの再表示
回答  小僧  - 05/4/4(月) 11:02 -

引用なし
パスワード
   ▼水無月 さん:
帳票フォームで宜しいでしょうか?
それならば…

>Private Sub cmd全選択_Click()
>
>  Dim db As DAO.Database
>  Dim rs As DAO.Recordset
>  
>  Set db = CurrentDb()
>  
>  Set rs = Forms!請求選択.Recordset.Clone
>  
>  Do Until rs.EOF
>    rs.Edit
>      rs!選択 = True
>    rs.Update
>    rs.MoveNext
>  Loop
>  
>  DoCmd.OpenForm "請求選択"
>    
>  rs.Close: Set rs = Nothing
>  db.Close: Set db = Nothing
→追加
  Me.Requery
>End Sub

これでどうでしょうか?
・ツリー全体表示

【4798】フォームの再表示
質問  水無月  - 05/4/4(月) 10:28 -

引用なし
パスワード
   こんにちは。
困っています!どなたか助けて下さい!

「請求選択」というテーブルを基に作ったフォーム上に「選択」というチェックボックスがあります。そのチェックボックスのオンオフをフォーム上で操作します。そして、コマンドボタンをクリックすることで、そのチェックを一括してオンにしたりオフにしたりしたいのです。
下記は「全選択」というコマンドボタンの命令文です。

Private Sub cmd全選択_Click()

  Dim db As DAO.Database
  Dim rs As DAO.Recordset
  
  Set db = CurrentDb()
  
  Set rs = Forms!請求選択.Recordset.Clone
  
  Do Until rs.EOF
    rs.Edit
      rs!選択 = True
    rs.Update
    rs.MoveNext
  Loop
  
  DoCmd.OpenForm "請求選択"
    
  rs.Close: Set rs = Nothing
  db.Close: Set db = Nothing
  
End Sub

これでテーブルのデータは全てオン(0)になってます。
それにフォームも、下のタスクバーにある別のフォームを表示して一度画面を切り替えてからもう一度そのタスクバーにある請求選択フォームを表示させればデータは更新されているのです。でもその表示が自動的に行えません。どうすればいいのでしょうか?
分かる方、ご指導宜しくお願いします。
・ツリー全体表示

【4797】Re:三つのIF判断条件の組み合わせ
お礼  sakai  - 05/4/2(土) 20:36 -

引用なし
パスワード
   クロさん
 すべて解決しました、このレッスンを通じて、勉強になりますた。
本当にありがとうございました。
・ツリー全体表示

【4796】Re:日付型にnull値入力
回答  クロ  - 05/4/2(土) 9:34 -

引用なし
パスワード
   AというのはBテーブルの日付/時刻型フィールドですよね?
両テーブルとも日付/時刻型フィールドなら

IIf(IsNull([A]),Null,[A])だけでいいのでは?

StrSQL = "INSERT INTO Aテーブル ( A )" & _
     " SELECT IIf(IsNull(Bテーブル![A]),Null,Bテーブル![A])" & _
     " FROM Bテーブル;"
・ツリー全体表示

【4795】Re:三つのIF判断条件の組み合わせ
回答  クロ  - 05/4/2(土) 9:12 -

引用なし
パスワード
   If FileDateTime("C:\AAA1.xls") < Date Or _
FileDateTime("C:\AAA2.xls") < Date Or _
FileDateTime("C:\AAA3.xls") < Date Then
  MsgBox "古い日付のデータが含まれていますので受付できません"
  Exit Function 'またはExit Sub
End If
  MsgBox "処理開始"

こうかな?
・ツリー全体表示

【4794】Access2003でODBC接続が上手くいきません
質問  ひまわり  - 05/4/2(土) 8:08 -

引用なし
パスワード
   またまた質問の初心者です。
Access2003でSQLserver2000のテーブルにODBCでリンクすると、
各レコードの各項目に「#DELETED」と表示され内容が全くわかりません。
また、テーブルによっては正常に内容が表示されたり、
「ODBCの呼出しに失敗しました」のメッセージが返ってきたりします。
Access2000では問題なく全てのテーブルが表示されます。
Accessはどちらのバージョンもmdbで作成しています。
どなたか解決方法をご存知の方がいらっしゃいましたら、
ぜひお教え願えないでしょうか?
よろしくお願いします。
・ツリー全体表示

【4793】Re:三つのIF判断条件の組み合わせ
質問  sakai  - 05/4/1(金) 22:02 -

引用なし
パスワード
   ありがとうございます。
説明が悪くて、ごめんなさい。


今日が2005/04/01(Date)だとして
AAA1.xls 作成日 2005/04/01
AAA2.xls 作成日 2005/03/31
AAA3.xls 作成日 2005/04/01
AAA1〜3に過去のファイルが一つあったら、「受け付けません」を表示させ、そして
IF〜Endifから抜きます。
そうでない場合は、elseへ移行し、その後のステップを実行して、終了。
・ツリー全体表示

【4792】Re:日付型にnull値入力
発言  YU-TANG WEB  - 05/4/1(金) 21:50 -

引用なし
パスワード
   こんばんは、YU-TANG です。
横レス失礼します。

> よく考えたら
> IIf(IsNull([A]),Null,"#" & [A] & "#")
> ではないでしょうか?

IIf(IsNull([A]), "Null", "#" & [A] & "#")

…かも。

# 2012 年問題にもご注意を。
・ツリー全体表示

【4791】Re:日付型にnull値入力
発言  小僧  - 05/4/1(金) 19:44 -

引用なし
パスワード
   ▼smith さん:
こちらで検証してみたのですが、
ADOで行ってNull値が代入できたので、
smithさんができない理由を考えたのですが…。

1.入力先のフィールドの値要求が「はい」の時
  これはクエリだと成功すると言う事で違うと思われます。

2.DAOの処理である時

もしかしたらこちらかな?と思い、前後のコードがあれば
判断できるかなと思いました。
・ツリー全体表示

【4790】Re:日付型にnull値入力
お礼  smith E-MAIL  - 05/4/1(金) 18:12 -

引用なし
パスワード
   小僧さんとクロさん、ありがとうございます。

小僧さん、他のフィールドは正常にinsertされるので間違いはないと思います。
クロさん、IIf(IsNull([A]),Null,"#" & [A] & "#") で実行してもダメでした。
なんでクエリは動くんだろ。
・ツリー全体表示

【4789】Re:日付型にnull値入力
回答  クロ  - 05/4/1(金) 17:19 -

引用なし
パスワード
   よく考えたら
IIf(IsNull([A]),Null,"#" & [A] & "#")
ではないでしょうか?
Nullの時には##が入らないように...
・ツリー全体表示

【4788】Re:日付型にnull値入力
発言  クロ  - 05/4/1(金) 16:26 -

引用なし
パスワード
   横レス失礼します。
少なくとも1は間違いです。

> 1. ",#" & IIF(isnull[A],"null",[A]) & "#"

としたらnullという文字が##の間に入りますよ?
""とするかNullとするかではないでしょうか?
1. ",#" & IIf(IsNull([A]),"",[A]) & "#"
1. ",#" & IIf(IsNull([A]),Null,[A]) & "#"

通るか通らないかは分かりませんが...
・ツリー全体表示

419 / 500 ページ ←次へ | 前へ→
ページ:  ┃  記事番号:
1084741
(SS)C-BOARD v3.8 is Free