Access VBA質問箱 IV

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

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


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

【9874】Re:テキストデータの読込について
回答  hatena  - 07/9/27(木) 21:14 -

引用なし
パスワード
   >テキストデータを読込みたいのですが今まではテーブルとしてリンクして処理していたのですがダイレクトでテキストデータを読込したいのです。
>どのような記述をすればいいのでしょうか?

どこに読み込むのでしょうか。
読み込んでどのように利用したいのでしょうか。
もう少し具体的な説明が必用と思われます。
・ツリー全体表示

【9873】テキストデータの読込について
質問  NEMOTO  - 07/9/27(木) 16:53 -

引用なし
パスワード
   テキストデータを読込みたいのですが今まではテーブルとしてリンクして処理していたのですがダイレクトでテキストデータを読込したいのです。
どのような記述をすればいいのでしょうか?
テキストデータには下記のようなデータです。
12000/01/01元旦
22000/01/02休日
よろしくお願いします。
・ツリー全体表示

【9872】実行時エラー3061
質問  taka E-MAIL  - 07/9/27(木) 11:02 -

引用なし
パスワード
   VBAがよくわかっていない初心者ですがよろしくお願いします。
ある文をほぼまねて下記のものをつくりました。階層が3つあり第一階層ではうまく行ったのですが、二階層めでつまずきました。よろしくお願いします。
Dim W_mitu_M As Recordset
Dim w_gyo As Integer
Dim w_sql_W As String
Dim w_中項目No As Long

Me.Recalc
If IsNull(Me![中項目連番]) Then
 Exit Sub
End If
w_gyo = Me![中項目連番]
w_sql_W = "SELECT * FROM Q_見積明細中項目クエリ WHERE [中項目連番] >= " & w_gyo & " order by 中項目連番 "
ここでエラー Set W_siire_M = CurrentDb.OpenRecordset(w_sql_W, dbOpenDynaset)
Do Until W_mitu_M.EOF
 W_mitu_M.Edit
 W_mitu_M!中項目連番 = W_siire_M!中項目連番 + 1
 W_mitu_M.Update
 W_mitu_M.MoveNext
Loop
 W_mitu_M.AddNew
 W_mitu_M!中項目連番 = w_gyo
 W_mitu_M!中項目No = DMax("中項目No", "Q_見積明細中項目クエリ") + 1
 W_mitu_M.Update
 
 Form.Requery
DoCmd.GoToRecord , , acGoTo, w_gyo
・ツリー全体表示

【9871】Re:テーブルのモジュール化
回答  hatena  - 07/9/26(水) 5:09 -

引用なし
パスワード
   > 山=モジュール名(B,D)⇒  山=14
>
> 以上の結果を望んでおります。

外してるかも知れませんが、

Public Function モジュール名(x As String, y As String) As Byte

  モジュール名 = (Asc(x) - 65) * 10 + Asc(y) - 64

End Function

という関数を作成して、

山 = モジュール名("B","D")

ということかな。
・ツリー全体表示

【9870】テーブルのモジュール化
質問  yousan  - 07/9/25(火) 23:42 -

引用なし
パスワード
   申訳御座いませんが、どなたか具体的に教えて下さい。

 A 〜 J の10ヶが縦横に並んだ表があります。
 現在、これを AA〜JJ(1〜100)をテーブルで作成して、SQLで選出しています。

 上記をモジュール化したいと希望しております。

 山=モジュール名(B,D)⇒  山=14

 以上の結果を望んでおります。

 宜しくお願い致します。 
・ツリー全体表示

【9869】Re:access202について
お礼  はせ E-MAIL  - 07/9/25(火) 23:15 -

引用なし
パスワード
   ▼hatena さん:
>>  abc = "○"  を  abcd = "○" に変更しても
>>  abc は存在している事になっている
>>  当然新しい abcd には結果表示は無い
>>
>>  他に abc に関するプログラムが残っていても
>>   abc のテキストボックスの有無に関係なく問題が生じない。
>
>説明があいまいなので、確認させてください。
>
>VBAコードに、
>
>abc = "○"
>
>というabcテキストボックスに "○" を代入するコードがある。
>abc というテキストボックスの名前を、abcd に変更した。
>その後、このコードを実行してもエラーがでない、
>しかし、abcd には "○" が代入されない。
>
>ということですか。以上の解釈であってますでしょうか。
>違っていたら具体的に指摘してください。
>
>とりあえず、一つの提案として、コードは
>下記のように、
>
>Me.abc.Value = "○"
>
>省略せずにかくと、コンパイルしたときに「見つからない」と
>指摘してくれます。

有難う御座いました

 Me.abc.Value = "○"

 上記で対処しました。
・ツリー全体表示

【9868】Re:EXCELの出力について教えてくださ...
お礼  NEMOTO  - 07/9/25(火) 16:51 -

引用なし
パスワード
   ▼Gin_II さん:
ありがとうございます。
できました。
・ツリー全体表示

【9867】Re:EXCELの出力について教えてくださ...
回答  Gin_II  - 07/9/25(火) 14:51 -

引用なし
パスワード
   > OBJSHEET.RANGE("B7").INTERIOR.PATTERN = XLCRISSCROSS

OBJSHEET.RANGE("B7").INTERIOR.PATTERN = 16 'xlCrissCross

のように変更する必要があると思います。
#参照設定で、Microsoft Excel x.x Object Library にチェックが
 入っていない状態だと、Excelの定数は使えませんので。
#デバッグするときには、On Error 〜 の部分はコメントアウトしてから
 試すようにしてください。
・ツリー全体表示

【9866】EXCELの出力について教えてください。
質問  NEMOTO  - 07/9/25(火) 12:48 -

引用なし
パスワード
   テーブルからデータを読込んでEXCELに出力しているのですかデータは出力できるのですが色(シャドウ)を入れることができません。
OBJSHEET.RANGE("B7").INTERIOR.PATTERN = XLCRISSCROSS
OBJSHEET.RANGE("B7").INTERIOR.PATTERNCOLOR = RGB(255,0,0)
上記のように記載しているのですがだめなのでしょうか?
EXCELの本を見るとこのような記載で書かれているのですが、
よろしくお願いします。
・ツリー全体表示

【9865】Re:where句について
お礼  ぼっちゃん  - 07/9/25(火) 10:03 -

引用なし
パスワード
   Naoさんご回答をいただきありがとうございます。
[Forms]![F_日付入力]![日付入力from]を変数aに
当てはめて、式にそれを代入し、少し括弧を調整すると
きちんと動くようなりました。
いろいろ、ご教示いただき、大変ありがとうございました。
・ツリー全体表示

【9864】Re:where句について
回答  Nao  - 07/9/22(土) 13:52 -

引用なし
パスワード
   ぼっちゃん さん こんにちは。

>そこでそれを参考にしてVBAを作ってみたのですがうまく動きません。
>strSQL = strSQL & " WHERE (((Format([T_受付番号]![受付日時間],'yyyy/mm/dd')) Between #" & [Forms]![F_日付入力]![日付入力from] & "#"
>  strSQL = strSQL & " And #" & [Forms]![F_日付入力]![日付入力from] & "#)"

「うまく動きません」ではどううまく動かないかが、なぞではありますが
フォームの入力フィールドのコントロールソースの属性は何ですか?
(または非連結か?)

>strSQL = strSQL & " WHERE (((Format([T_受付番号]![受付日時間],'yyyy/mm/dd')) Between #" & Format([Forms]![F_日付入力]![日付入力from],"yyyy/mm/dd") & "#"
>  strSQL = strSQL & " And #" & Format([Forms]![F_日付入力]![日付入力from],"yyyy/mm/dd") & "#)"

とフォーム入力の方もFormatをしてみるとどうなりますか?
・ツリー全体表示

【9863】where句について
質問  ぼっちゃん  - 07/9/21(金) 18:18 -

引用なし
パスワード
   Where句の作り方をお教えください。
クエリのSQLビューで表示させたら
WHERE ((( Format(T_受付番号!受付日時間,"yyyy/mm/dd")) Between #8/27/2007# And #8/28/2007#)); 
そこでそれを参考にしてVBAを作ってみたのですがうまく動きません。
strSQL = strSQL & " WHERE (((Format([T_受付番号]![受付日時間],'yyyy/mm/dd')) Between #" & [Forms]![F_日付入力]![日付入力from] & "#"
  strSQL = strSQL & " And #" & [Forms]![F_日付入力]![日付入力from] & "#)"
・ツリー全体表示

【9862】Re:collectionの指定方法をおしえてくださ...
お礼  BLUELION  - 07/9/19(水) 23:02 -

引用なし
パスワード
   ありがとうございました

必要性としては 
もっといい方法があるかもしれませんが

DIM GRP_A1 AS NEW COLLECTION
DIM GRP_A2 AS NEW COLLECTION
DIM GRP_A3 AS NEW COLLECTION
DIM GRP_A4 AS NEW COLLECTION
DIM GRP_A5 AS NEW COLLECTION

DIM EXCEL_POS_STR AS STRING
DIM SETDATA AS INTGER

select case EXCEL_POS_STR

case "A1" CALL DATASET(GRP_A1,SETDATA)
case "A2" CALL DATASET(GRP_A2,SETDATA)
case "A3" CALL DATASET(GRP_A3,SETDATA)
case "A4" CALL DATASET(GRP_A4,SETDATA)
case "A5" CALL DATASET(GRP_A5,SETDATA)

END SELECT


CALL DATASET(EXCEL_POS_STR,SETDATA)という
一行にしたかったからです

たとえば A1を参照しているエクセルのユーザーフォームのコントロールに一気にデータセットしたかったからです


▼hatena さん:
>>  call dataset("GRP_bp16",7)
>>  txt単価2とtxt単価3に7をセットしたいのです
>>
>>
>>  dim GRP_bo16 as new collection
>>  dim GRP_bp16 as new collection
>>  dim GRP_bq16 as new collection
>>
>>
>>  GRP_bo16.Add txt単価1
>>  GRP_bp16.Add txt単価2
>>  GRP_bp16.Add txt単価3    
>>  GRP_bq16.Add txt単価4
>
>なぜ、
>
>function dataset(grpname as collection, setdata as integer)
>
>というように collection で渡してはダメなのでしょうか。
>
>その理由が分からないので、外しているかも知れませんが、
>下記のようなコードを考えてみましたが、目的に合致しますでしょうか。
>
>Dim Cl_GRP As New Collection
>
>Private Sub コマンド8_Click()
>  Cl_GRP.Add New Collection, "GRP_bo16"
>  Cl_GRP.Add New Collection, "GRP_bp16"
>  Cl_GRP.Add New Collection, "GRP_bq16"
>  
>  Cl_GRP("GRP_bo16").Add Me.txt単価1
>  Cl_GRP("GRP_bp16").Add Me.txt単価2
>  Cl_GRP("GRP_bp16").Add Me.txt単価3
>  Cl_GRP("GRP_bq16").Add Me.txt単価4
>
>  dataset "GRP_bo16", 1
>  dataset "GRP_bp16", 2
>  dataset "GRP_bq16", 3
>End Sub
>
>Function dataset(grpname As String, setdata As Integer)
>  Dim aaa As Access.Control
>
>  For Each aaa In Cl_GRP(grpname)
>   aaa.Value = setdata
>  Next
>
>End Function
>
>コントロールのcollection自体を、collection に格納してみました。
・ツリー全体表示

【9861】Re:collectionの指定方法をおしえてくださ...
回答  hatena  - 07/9/19(水) 19:02 -

引用なし
パスワード
   >  call dataset("GRP_bp16",7)
>  txt単価2とtxt単価3に7をセットしたいのです
>
>
>  dim GRP_bo16 as new collection
>  dim GRP_bp16 as new collection
>  dim GRP_bq16 as new collection
>
>
>  GRP_bo16.Add txt単価1
>  GRP_bp16.Add txt単価2
>  GRP_bp16.Add txt単価3    
>  GRP_bq16.Add txt単価4

なぜ、

function dataset(grpname as collection, setdata as integer)

というように collection で渡してはダメなのでしょうか。

その理由が分からないので、外しているかも知れませんが、
下記のようなコードを考えてみましたが、目的に合致しますでしょうか。

Dim Cl_GRP As New Collection

Private Sub コマンド8_Click()
  Cl_GRP.Add New Collection, "GRP_bo16"
  Cl_GRP.Add New Collection, "GRP_bp16"
  Cl_GRP.Add New Collection, "GRP_bq16"
  
  Cl_GRP("GRP_bo16").Add Me.txt単価1
  Cl_GRP("GRP_bp16").Add Me.txt単価2
  Cl_GRP("GRP_bp16").Add Me.txt単価3
  Cl_GRP("GRP_bq16").Add Me.txt単価4

  dataset "GRP_bo16", 1
  dataset "GRP_bp16", 2
  dataset "GRP_bq16", 3
End Sub

Function dataset(grpname As String, setdata As Integer)
  Dim aaa As Access.Control

  For Each aaa In Cl_GRP(grpname)
   aaa.Value = setdata
  Next

End Function

コントロールのcollection自体を、collection に格納してみました。
・ツリー全体表示

【9860】Re:collectionの指定方法をおしえてくださ...
質問  BLUELION  - 07/9/19(水) 14:58 -

引用なし
パスワード
   すみません説明がたりませんでした
 
  call dataset("GRP_bp16",7)
  txt単価2とtxt単価3に7をセットしたいのです


  dim GRP_bo16 as new collection
  dim GRP_bp16 as new collection
  dim GRP_bq16 as new collection


  GRP_bo16.Add txt単価1
  GRP_bp16.Add txt単価2
  GRP_bp16.Add txt単価3    
  GRP_bq16.Add txt単価4
・ツリー全体表示

【9859】Re:collectionの指定方法をおしえてくださ...
回答  hatena  - 07/9/19(水) 14:51 -

引用なし
パスワード
   >指定されたコネクションの名前の文字列をつかって
>そのコネクションに属するコントロールに
>指定値をセットしたいのです

コネクションってなんのことでしょうか。

ADO、DAO の Connection のこと?
とすると、Connection に属するコントロールって?


この関数を使用するときのコードも出してもらった方が
理解しやすいかも。
grpname引数をどのように設定するかが分かれば、やりたいことが
推測しやすいです。
・ツリー全体表示

【9858】Re:access202について
回答  BLUELION  - 07/9/19(水) 14:05 -

引用なし
パスワード
   単純に変数の宣言を強制してないからではないでしょうか?

Option Explicit On
・ツリー全体表示

【9857】collectionの指定方法をおしえてください
質問  BLUELION  - 07/9/19(水) 13:57 -

引用なし
パスワード
   簡単な質問で申し訳ありません

エクセルのシステムをアクセスに移行していますが
VBAがわからず苦戦しております

指定されたコネクションの名前の文字列をつかって
そのコネクションに属するコントロールに
指定値をセットしたいのです

function dataset(grpname as string ,setdata as integer)

  dim aaa as access.control

  For Each aaa In grpname <==== 文字列grpnameをつかってコレクションを指定したい
   AAA.Value = setdata
  Next

end function

grpnameをcollectionにすれば簡単なのですがどうしても文字列でつくりたいのです

お知恵を貸してください

エクセルのユーザーフォームをアクセスに移行するにあたり参考にできるHPありましたら
あわせて教えて下さい
・ツリー全体表示

【9856】Re:right、left関数が使えない
お礼  カダワン  - 07/9/19(水) 9:17 -

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

ありがとうございました。おかげさまで正常に動きました!
感謝いたします。ホントありがとうでした!
・ツリー全体表示

【9855】Re:access202について
回答  hatena  - 07/9/19(水) 8:09 -

引用なし
パスワード
   >  abc = "○"  を  abcd = "○" に変更しても
>  abc は存在している事になっている
>  当然新しい abcd には結果表示は無い
>
>  他に abc に関するプログラムが残っていても
>   abc のテキストボックスの有無に関係なく問題が生じない。

説明があいまいなので、確認させてください。

VBAコードに、

abc = "○"

というabcテキストボックスに "○" を代入するコードがある。
abc というテキストボックスの名前を、abcd に変更した。
その後、このコードを実行してもエラーがでない、
しかし、abcd には "○" が代入されない。

ということですか。以上の解釈であってますでしょうか。
違っていたら具体的に指摘してください。

とりあえず、一つの提案として、コードは
下記のように、

Me.abc.Value = "○"

省略せずにかくと、コンパイルしたときに「見つからない」と
指摘してくれます。
・ツリー全体表示

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