Access VBA質問箱 IV

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

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


953 / 2272 ツリー ←次へ | 前へ→

【9367】テーブルの書き出しについて ねもと 07/5/8(火) 14:19 質問[未読]
【9368】Re:テーブルの書き出しについて まさ7251 07/5/8(火) 22:47 発言[未読]
【9369】Re:テーブルの書き出しについて ねもと 07/5/9(水) 8:55 質問[未読]
【9371】Re:テーブルの書き出しについて まさ7251 07/5/9(水) 12:16 発言[未読]
【9379】Re:テーブルの書き出しについて たけし 07/5/10(木) 9:45 質問[未読]
【9380】Re:テーブルの書き出しについて まさ7251 07/5/10(木) 12:03 発言[未読]
【9383】Re:テーブルの書き出しについて ねもと 07/5/10(木) 14:19 お礼[未読]

【9367】テーブルの書き出しについて
質問  ねもと  - 07/5/8(火) 14:19 -

引用なし
パスワード
   テーブルに通常値をいれる場合
テーブルAにフィールド名 社員番号00001の時
社員番号000001 = "優秀"
と記述しているのですが 
テーブルBにフィールド名 番号があり
番号には00001の値が入っています。
そのとき
社員番号 & 番号 =  "優秀"
にして
テーブルAにフィールド名 社員番号00001に優秀を入力したいのです。
上記の書き方だとコンパイルエラーになります。
どのようにしてフィールド名を作成してテーブルに値を入力することはできるのでしょうか?
どうか教えてください。
よろしくお願いします

【9368】Re:テーブルの書き出しについて
発言  まさ7251  - 07/5/8(火) 22:47 -

引用なし
パスワード
   ▼ねもと さん:
>テーブルに通常値をいれる場合
>テーブルAにフィールド名 社員番号00001の時
>社員番号000001 = "優秀"

これだけだと、変数あるいはコントロールに値をセットしている
だけですよね。具体的にどうやって書いているのでしょうか。

>と記述しているのですが 
>テーブルBにフィールド名 番号があり
>番号には00001の値が入っています。
>そのとき
>社員番号 & 番号 =  "優秀"
>にして
>テーブルAにフィールド名 社員番号00001に優秀を入力したいのです。
>上記の書き方だとコンパイルエラーになります。

例えば、
Dim rs As Recordset と宣言されていて、Recordset上へセットしたいのなら、
rs("社員番号" & 番号) = "優秀"

【9369】Re:テーブルの書き出しについて
質問  ねもと  - 07/5/9(水) 8:55 -

引用なし
パスワード
   ▼まさ7251 さん:
返答ありがとうございます。
Public Function T送付書各部店用()
Dim Db As Database
Dim INRsA As Recordset
Dim INRsB As Recordset
Dim OTRs As Recordset
Dim 読込A As String
Dim 読込B As String
Dim 添字 As Double
Dim 最終添字 As Double
Dim 部店コード(40) As String
Dim 部店名(40) As String
Dim 店舗コード As String
Dim 設定 As String

Set Db = CurrentDb
  
読込A = "T部店名"
読込B = "ページテーブル"

Set INRsA = Db.OpenRecordset(読込A, dbOpenDynaset)
Set INRsB = Db.OpenRecordset(読込B, dbOpenDynaset)
Set OTRs = Db.OpenRecordset("T帳票テーブル(ACCESS)", dbOpenDynaset)

添字 = 0

Do Until INRsA.EOF

添字 = 添字 + 1
部店コード(添字) = INRsA!部店コード
部店名(添字) = INRsA!部店名

INRsA.MoveNext
Loop

最終添字 = 添字
  
'共通項目出力
OTRs.AddNew
OTRs!帳票名 = ""
OTRs!日付 = Date
OTRs!媒体種類 = "紙"
OTRs!返却有無 = "不要"
  
Do Until INRsB.EOF

添字 = 0

'本部店舗番号設定
 If INRsB!店舗コード = "090" Then
   店舗コード = "094"
 Else
   店舗コード = INRsB!店舗コード
 End If

 Do Until 最終添字 = 添字
   添字 = 添字 + 1
   If 店舗コード = 部店コード(添字) Then
    設定 = 部店コード(添字) & 部店名(添字)
    OTRs.Fields(設定) = -1・・・・・・・・・・・・・・・・・1.
    OTRs.Fields(設定 & "枚数") = INRsB!ページ番号・・・・・2.
   End If
 Loop

INRsB.MoveNext
Loop
               
OTRs.Update

INRsA.Close
INRsB.Close
OTRs.Close
Db.Close

End Function

上記の1.と2.の部分です。
T帳票テーブルにはフィールド名094本部と094本部枚数があり
本当は
OTRs.094本部 = −1
OTRs.094本部枚数 = INRsB!ページ番号
と記述するのですが
094本部を読込んだ部店コード(添字)と部店名(添字)で処理したいのです。

rs("社員番号" & 番号) = "優秀
の記述でのうまくいきません。
よろしくお願いします。

【9371】Re:テーブルの書き出しについて
発言  まさ7251  - 07/5/9(水) 12:16 -

引用なし
パスワード
   >    設定 = 部店コード(添字) & 部店名(添字)
>    OTRs.Fields(設定) = -1・・・・・・・・・・・・・・・・・1.
>    OTRs.Fields(設定 & "枚数") = INRsB!ページ番号・・・・・2.

>上記の1.と2.の部分です。
>T帳票テーブルにはフィールド名094本部と094本部枚数があり
>本当は
>OTRs.094本部 = −1
>OTRs.094本部枚数 = INRsB!ページ番号
>と記述するのですが
>094本部を読込んだ部店コード(添字)と部店名(添字)で処理したいのです。

”うまくいきません。”では、状況がよくわかりません。
どこかでエラーになるのでしょうか。
エラーになるのなら、どこで、どのようなエラーなのでしょうか。
また、その行に関係する変数の値はどうなっていますか。

エラーにならないということなら、どのような状況なのでしょうか。
思ったように更新されないということでしょうか。

ちなみに、094 とか、094 とか、
全角と半角がありますけど、どちらかに統一されているのですよね?

仮に、
> OTRs.094本部 = −1
> OTRs.094本部枚数 = INRsB!ページ番号
とした場合、正常に動作しますか?

数字で始まる項目名なので、
OTRs![094本部] = -1
のようにしないといけないかもしれませんけど。
(数字で始まるようなフィールド名はつけないほうが無難ですよ。)

【9379】Re:テーブルの書き出しについて
質問  たけし  - 07/5/10(木) 9:45 -

引用なし
パスワード
   ▼まさ7251 さん:
本当にありがとうございます。
>>    設定 = 部店コード(添字) & 部店名(添字)
>>    OTRs.Fields(設定) = -1・・・・・・・・・・・・・・・・・1.
>>    OTRs.Fields(設定 & "枚数") = INRsB!ページ番号・・・・・2.
>
>>上記の1.と2.の部分です。
>>T帳票テーブルにはフィールド名094本部と094本部枚数があり
>>本当は
>>OTRs.094本部 = −1
>>OTRs.094本部枚数 = INRsB!ページ番号
>>と記述するのですが
>>094本部を読込んだ部店コード(添字)と部店名(添字)で処理したいのです。
>
>”うまくいきません。”では、状況がよくわかりません。
>どこかでエラーになるのでしょうか。

エラーにはならずテーブルに作成できません。

>> OTRs.094本部 = −1
>> OTRs.094本部枚数 = INRsB!ページ番号
>とした場合、正常に動作しますか?

うまく作動します。


>数字で始まる項目名なので、
>OTRs![094本部] = -1
>のようにしないといけないかもしれませんけど。


上記の記述でも試しましたがエラーにはならずテーブルに作成できません。

【9380】Re:テーブルの書き出しについて
発言  まさ7251  - 07/5/10(木) 12:03 -

引用なし
パスワード
   ねもとさん=たけしさん でしょうか?
途中でHNを変えるのは止めていただきたいです。

>>”うまくいきません。”では、状況がよくわかりません。
>>どこかでエラーになるのでしょうか。
>
>エラーにはならずテーブルに作成できません。

では、変数”設定”の値はどうなっていましたか。
では、そもそも、この行は本当に実行されているのでしょうか。
MsgBox とか、ブレークポイントを設置するとかで試してみてください。

> ちなみに、094 とか、094 とか、
> 全角と半角がありますけど、どちらかに統一されているのですよね?
これへの返答はないのでしょうか。

【9383】Re:テーブルの書き出しについて
お礼  ねもと  - 07/5/10(木) 14:19 -

引用なし
パスワード
   ▼まさ7251 さん:
▼まさ7251 さん:
すいません
MsgBox と、ブレークポイントで試してみます。

>> ちなみに、094 とか、094 とか、
>> 全角と半角がありますけど、どちらかに統一されているのですよね?
>これへの返答はないのでしょうか。

統一されています。
申し訳ありませんでした。

953 / 2272 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
1078201
(SS)C-BOARD v3.8 is Free