Access VBA質問箱 IV

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

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


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

【4478】Re:あと、もうひとつ、すみません・・・テ...
回答  クロ  - 05/2/25(金) 9:29 -

引用なし
パスワード
   > クエリでもなんでもいいので、そんなことができたら、教えてください。
> すみません、よろしくお願いいたします。

更新クエリで...
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−+
 B項目                          |フィールド
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−+
 △テーブル名                       |テーブル
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−+
ここに前述の Switch関数を入れてください ※条件は適宜に   |レコードの更新
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−+

フォームで...
(※ここはVBAのBBSなのでコードで書きます)
販売台数テキストボックスの更新後処理のイベントで
Me.Bフィールド名=ここに前述の Switch関数を入れてください ※条件は適宜に
でいいかと...

※VBエディタを起動してツールバーヘルプ欄で「Switch 関数」を
 お調べください。
・ツリー全体表示

【4477】EXCELからのインポートについて
質問  bon  - 05/2/24(木) 22:21 -

引用なし
パスワード
   はじめまして。
ACCESSに関して初心者なもので、馬鹿げた質問かもしれませんが、
よろしくお願いします。

EXCELデータをインポートでACCESSに取り込みたいのですが、
テーブルに追加ではなく、更新したいと思っています。
色々手探りで調べていますが、よい方法が見当たらないので、
どうか教えてください。

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

【4476】Re:あと、もうひとつ、すみません・・・テ...
質問  カナ  - 05/2/24(木) 21:43 -

引用なし
パスワード
   ▼クロ さん:
>クエリでいいのなら
>クエリデザインビューのフィールドに
>コード:Switch([販売台数]<=999,1,[販売台数]<=1999,2,[販売台数]>=2000,3)
>
>※AccessのバージョンによってはSwitchが使えないかも

早速のご回答、ありがとうございます。

上記のやり方で、コード値にすることができました。ありがとうございました。

それで、もうひとつお聞きしたいのですが、こんなことって出来ますか???

質問>テーブルのある項目の値によって、同じテーブルの項目の値を入れることは
   可能ですか?

例)3000以下⇒コード:1、3000〜5000⇒コード:2、5000以上⇒コード3
  としてコード値持ちたいのですが、同じテーブル内での入力をしたい。 


  △テーブル

  A項目   B項目
   1000 ⇒  1
   4500 ⇒  2
   6000 ⇒  3   ココのA項目が入力されたら、B項目にコード値が
            自動的に入ってほしい。

クエリでもなんでもいいので、そんなことができたら、教えてください。
すみません、よろしくお願いいたします。
・ツリー全体表示

【4475】スペースのセット
質問  ねこさん  - 05/2/24(木) 20:08 -

引用なし
パスワード
   はじめまして、下記の件でわからなく、よろしくお願いいたします。

1..下記のテーブルを、データ テキスト型 フィールドサイズ 各指定あり。

種別レコード    予備    事業種番号    事業者名    請求月日    金融機関コード    金融機関名    振替口座記号    予備2    振替口座番号    振替回数
1 11     00    11111111    ***************    0101    9900    ユウセイシヨウチヨキンキヨク    010        111111    

2..選択クエリーを使い(&を使い)フィールド連結しましたが各間のスペースが入らなく左につまってしまいました。


111 00111111***************01019900ユウセイシヨウチヨキンキヨク010111111

3..下記のようにスペースを空けて(フィールドサイズの桁数)をうまくセットするにはどうしたらできますでしょうか?

111 000111111***************         01019900ユウセイシヨウチヨキンキヨク 010         1111111 
・ツリー全体表示

【4474】Re:フォームの開き方
お礼  nssnkg  - 05/2/24(木) 18:08 -

引用なし
パスワード
    有難うございます。ご指導感謝します。
 新規レコードの日付Aを締め日として、レポート集計用の
集計日フィールドを起算日から締め日まで日付Aの値で更新
するというフォームです。日付Aで集計したいのです。
日付Aは新規レコードになるので、日付Aから一日マイナスした
日付から更新させたら、うまくいきました。日付Aのレコードには
とりあえず別の方法で集計フィールドに日付Aを書き込もうと思ってました。
 クロさんが書いて下さったVBAと両方試してみます。お手数取らせてすみません
・ツリー全体表示

【4473】Re:フォームの開き方
回答  クロ  - 05/2/24(木) 17:40 -

引用なし
パスワード
   オブジェクトウィンドウのモジュールで新規作成をクリックして
Option Compare Database
Option Explicit
の直下に
Public varBM As Variant
と書きます。
Ctrl+Sで保存してください。

前のレスの一部削除追加で以下のようにします。

Private Sub コマンド102_Click()
  Dim mySQL As String  'SQLステートメント
  Dim cn As New ADODB.Connection
  Dim com As New ADODB.Command
  

  '現在位置取得
  varBM = Me.Bookmark
     '更新クエリを作成
    mySQL = "update 受注伝票 set 集計月 = #" & 伝票日付 & "# " _
       & "WHERE ((顧客コード = " & 顧客コード & ") and (伝票日付 Between #" & Me!date2 & "# And #" & Me!伝票日付 & "#));"

    DoCmd.Close '←ここを追加
    
    '接続
    Set cn = CurrentProject.Connection
   
    '更新クエリを実行
    Set com.ActiveConnection = cn
    com.CommandText = mySQL
    com.Execute

    DoCmd.OpenForm "受注伝票1" '←ここも追加

End Sub


フォームの開く時のイベントで
If IsEmpty(varBM) Then
Exit Sub
Else
Me.Bookmark = varBM
End If
としてください。

こんな感じでしょうか?
#データの競合の方の調査をした方がいいような気がします...
・ツリー全体表示

【4472】送信先メールアドレスの自動表示
質問  豆柴  - 05/2/24(木) 17:14 -

引用なし
パスワード
   いつも参考にさせていただいております。ありがとうございます。
今回、Access上から送信機能でメールを送る仕組みをつくりたいのですが、
分からないことだらけです(__;)
アクセス上で作成したデータを得意先毎にメールで送信します。
得意先の送信先アドレスはテーブルにあらかじめ設定し、送信機能を選択
すると得意先毎のアドレスがメール上の送信先に自動表示させたいのですが
出来るでしょうか?また、件名も自動表示できると嬉しいのですが・・・
お分かりになる方、ご伝授ください。
よろしくお願いいたします。

(windows xp、Access2002、Outlook Express 6 使用)
・ツリー全体表示

【4471】Re:フォームの開き方
質問  nssnkg  - 05/2/24(木) 16:28 -

引用なし
パスワード
   昨日は有難うございました。
実は4450のレスの件が解決できなくて困ってます。
フォームはデータ入力用で、新規にレコード入力した後に、そのまま
更新を掛けると”他のユーザーが同じデータに対して同時に変更を試みて
いるのでプロセスが停止しました”というメッセージが出ます。
一旦フォームを閉じて更新を掛けると更新は出来ますが、レコードが保持
できず困っています。Bookmarkを使いましたが、”Bookmarkが違う”って
メッセージが出ます。どうしていいかわかりません。
・ツリー全体表示

【4470】Re:フォームの開き方
発言  クロ  - 05/2/24(木) 15:41 -

引用なし
パスワード
   ▼nssnkg さん:
>入力フォームでデータ入力を済ませた後に
>そのフォームのコマンドボタン_Click一回で
>フォームを一旦閉じ、さらに続けてフォームを先ほどのレコードで再度開く。
>をVBAで書きたいのですが、方法はありますか?

どうして?そんなことするのか興味あるんだけど...
・ツリー全体表示

【4469】Re:必須項目に対する入力チェックの仕組み
回答  クロ  - 05/2/24(木) 15:01 -

引用なし
パスワード
   >名前:営業部署→項目1に変えるという意味ですよね?
>コントロールソースの方は営業部署のままでいいんですよね?

そうです。
登録フォームをデザインビューで開いて各コントロールのプロパティの
「名前」のところです。

もし、登録フォーム内のイベントプロシージャで「営業部署」「営業担当者」
「設計部署」「設計担当者」「お客様」と言う名前を使っているところ
変更する必要があります。
・ツリー全体表示

【4468】Re:必須項目に対する入力チェックの仕組み
質問  牛乳  - 05/2/24(木) 14:53 -

引用なし
パスワード
   クロさんのアドバイス通り項目1〜5に変えてみようと思い試したところ、
名前の方を変えたところ、プロシージャの外では無効です。といエラーが出て
しまいました。

名前:営業部署→項目1に変えるという意味ですよね?
コントロールソースの方は営業部署のままでいいんですよね?


▼クロ さん:
>>項目1〜5と言うのは実際には違う名称で「営業部署」「営業担当者」「設計部署」
>>「設計担当者」「お客様」という5つの項目名になっており、
>
>逆に各コントロール名(プロパティの名前)を項目1〜5に変えてみては?
>コントロールソースはそれぞれのフィールドで問題はありません。
・ツリー全体表示

【4467】フォームの開き方
質問  nssnkg  - 05/2/24(木) 14:41 -

引用なし
パスワード
   入力フォームでデータ入力を済ませた後に
そのフォームのコマンドボタン_Click一回で
フォームを一旦閉じ、さらに続けてフォームを先ほどのレコードで再度開く。
をVBAで書きたいのですが、方法はありますか?
・ツリー全体表示

【4466】Re:必須項目に対する入力チェックの仕組み
回答  クロ  - 05/2/24(木) 13:58 -

引用なし
パスワード
   >項目1〜5と言うのは実際には違う名称で「営業部署」「営業担当者」「設計部署」
>「設計担当者」「お客様」という5つの項目名になっており、

逆に各コントロール名(プロパティの名前)を項目1〜5に変えてみては?
コントロールソースはそれぞれのフィールドで問題はありません。
・ツリー全体表示

【4465】Re:必須項目に対する入力チェックの仕組み
質問  牛乳  - 05/2/24(木) 13:53 -

引用なし
パスワード
   度々申し訳ありません。
分かりやすいかと思い「項目1」などと使ってしまいました。

項目1〜5と言うのは実際には違う名称で「営業部署」「営業担当者」「設計部署」
「設計担当者」「お客様」という5つの項目名になっており、
せっかくクロさんの書いていただいた構文が使えません。
申し訳ありませんが、項目1〜5を上記の項目名に替えた場合はどのようにすれば
宜しいでしょうか?


>For i = 1 To 5
>  If IsNull(Forms!登録フォーム!("項目" & i)) Then
>   CHECK = CHECK & "," & "項目" & i
>  End If
>Next i
・ツリー全体表示

【4464】Re:あと、もうひとつ、すみません・・・テ...
回答  クロ  - 05/2/24(木) 12:32 -

引用なし
パスワード
   クエリでいいのなら
クエリデザインビューのフィールドに
コード:Switch([販売台数]<=999,1,[販売台数]<=1999,2,[販売台数]>=2000,3)

※AccessのバージョンによってはSwitchが使えないかも
・ツリー全体表示

【4463】Re:クエリについて教えてください。
回答  クロ  - 05/2/24(木) 12:26 -

引用なし
パスワード
   クエリがアクションクエリでないのならOpenQueryをする必要は
ないのでは?
#アクションクエリ…テーブル作成/追加/削除/更新など
・ツリー全体表示

【4462】あと、もうひとつ、すみません・・・テー...
質問  カナ  - 05/2/24(木) 11:30 -

引用なし
パスワード
   なんどもすみません・・・

今、テーブルに販売台数として1000とか2000とか数値が入っているですが、それをコード値に変換したいです。

例えば、
0〜999⇒コード:1、1000〜1999⇒コード:2、2000以上⇒コード:3

この場合、どういうふうにするのが手っ取り早いですか?
・ツリー全体表示

【4461】クエリについて教えてください。
質問  カナ  - 05/2/24(木) 11:22 -

引用なし
パスワード
   いつも本当に初心的な質問でごめんなさい。

  Dim stDocName As String

  stDocName = "クエリ"
  DoCmd.OpenQuery stDocName, acNormal, acEdit

を実行すると、ちゃんとクエリが実行されますが、クエリの結果が表示されちゃいます。
この結果は表示しないでほしいのですが・・・

そういうことってできますか?
・ツリー全体表示

【4460】Re:レコード抽出について
お礼  たくぽ  - 05/2/24(木) 10:59 -

引用なし
パスワード
   なんとかできました!

もっともっと勉強しなくちゃ!ですね・・・

ご回答、ありがとうございました。
本当に助かりましたっ。
・ツリー全体表示

【4459】Re:フォームについて教えてください。
お礼  クポ  - 05/2/24(木) 10:57 -

引用なし
パスワード
   ▼クロ さん:
>フォームの開く時のイベントに
>Me.Filter = "[適当なフィールド名]=''"
>Me.FilterOn = True
>といるとか?

やってみました!
なんとかできましたっ!

早々のご回答、ありがとうございました。

また、よろしくお願いします!!
・ツリー全体表示

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