Access VBA質問箱 IV

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

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


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

【7879】Re:入力チェック
質問  あおぎん  - 06/5/26(金) 10:11 -

引用なし
パスワード
   ▼まさ7251 さん:
お返事ありがとうございます。

>どの行でエラーがでているのでしょうか?
>エラー処理(On Error・・・)をコメントにして、
>どの行でエラーが出ているのか確認してみてください。

エラーはどうやら
→  If Me!I類計<> Me!I類計2 Then
   MsgBox ("調整額を正しく入力してください。")
   Me!I類計.SetFocus
   End If
  
この行のようで Me!I類計がEmpty値だと表示がありました。
Me!I類計2は数値が表示されました。

どちらも数値が入力されており、なぜEmpty値となるのかわかりません。
何か原因が考えられますか?
ちなみにI類計2は式により得られる値で、I類計は入力値そのままです。

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

【7878】新しいレコードに入力したい!
質問  ねね  - 06/5/26(金) 9:26 -

引用なし
パスワード
   "フォームA"がありその中に"サブフォームa"、他に
"フォームB"があり、そこに"テキストボックスA"の内容をコマンドボタンを
クリックするたびに
"サブフォームa"の新しいレコードにテキストボックスBにAの内容を入力したいのですが、

いろいろ参考にして書いたがヤッパリマネではダメでした!
VBAはほぼ初心者な者で。
アドバイスよろしくお願いします。


-------------------------------------------

DoCmd.SelectObject acForm, "フォームA"
DoCmd.GoToControl "サブフォームa"
DoCmd.GoToRecord , , acNewRec 

With Me![ォームA].Form
    
    ![サブフォームa]![テキストボックスB] = Me![テキストボックスA]
 
End With

DoCmd.GoToRecord , , acNewRec
Forms![フォームA]![サブフォームa].Requery

-------------------------------------------
・ツリー全体表示

【7877】Re:入力チェック
回答  まさ7251  - 06/5/25(木) 22:14 -

引用なし
パスワード
   ▼あおぎん さん:
>こんにちわ。
>フォームの入力値のチェックがしたいので、下のように記述してみましたが、うまく動きません。
>Property Let プロシージャが定義されていないので、値を返せないというエラーが出ます。
>解決方法をよろしくお願いします。

どの行でエラーがでているのでしょうか?
エラー処理(On Error・・・)をコメントにして、
どの行でエラーが出ているのか確認してみてください。
・ツリー全体表示

【7876】Re:グラフを作成するには
質問  一年生  - 06/5/25(木) 21:26 -

引用なし
パスワード
   調べてみます。
ありがとうございました。
・ツリー全体表示

【7875】入力チェック
質問  あおぎん  - 06/5/25(木) 16:59 -

引用なし
パスワード
   こんにちわ。
フォームの入力値のチェックがしたいので、下のように記述してみましたが、うまく動きません。
Property Let プロシージャが定義されていないので、値を返せないというエラーが出ます。
解決方法をよろしくお願いします。

Private Sub 入力チェック_Click()
On Error GoTo Err_入力チェック_Click
 
  If Me!I類計<> Me!I類計2 Then
   MsgBox ("調整額を正しく入力してください。")
   Me!I類計.SetFocus
  End If
  
  If Me!特別控除1 <> Me!特別控除算出1 Then
   MsgBox ("特別控除の値を確認してください。")
   Me!特別控除1.SetFocus
  End If
   
  If IsNull(Me!差引計) Or IsNull(Me!生活費) Then
   MsgBox ("差引が空欄です。確認してください。")
   Me!収入合計.SetFocus
  End If
 

  Exit_入力チェック_Click:
  Exit Sub

Err_入力チェック_Click:
  MsgBox Err.Description
  Resume Exit_入力チェック_Click
  
End Sub
・ツリー全体表示

【7874】Re:顧客コードの頭に定型の番号を振る
質問  TB1  - 06/5/25(木) 16:21 -

引用なし
パスワード
   ▼855 さん:
ありがとうございます。
どうにもうまくいかないのですが、色々こね回す中で分かったことがあります。
新規レコードで店番を指定すると取り合えず顧客コード欄に2222099999というのはできるんです。
でも、サンプルですでに顧客名が入っているものに改めて店番を指定しても顧客コードは空欄のまま。これはいったいどういうことでしょう。さきほど仰っていた、店番が入っているにもかかわらず反映されていない、ひいてはなにか指定し忘れているのかと感じます。
つまり、店番を指定することと、そのことにより2222099999が生成されるのとは別の動きになってしまっていると。
なにかピンとくるものがあればお教えください。
宜しくお願いします。
・ツリー全体表示

【7873】Re:顧客コードの頭に定型の番号を振る
発言  855  - 06/5/25(木) 12:48 -

引用なし
パスワード
   新規の会員登録(データなし

>Me![正規会員コード] = "22220" & Me.店番 & "99999"

すでに1件でも登録されている(データあり

>Me![正規会員コード] = Format(DMax("正規会員コード", "会員情報", "店番=' " & Me.店番 & "'") + 1, "000000000000")

サンプルデータを使って両方とも動作してないんですか?

それなら店番の値が入ってこないってところから

店番の値が入力しているにもかかわらず反映されてないってことだと思います。

コードにMe.RefreshやMe.店番.Requeryを追加してみてください。

コンボボックスの作りによりますが店番が一列目にあるあんらMe.店番.Column(0)にかえてみたりして試してみてください。

Private Sub Form_BeforeInsert(Cancel As Integer)

Me.Refresh

Me.店番.Requery

If DCount("正規会員コード", "会員情報", "店番=' " & Me.店番.Column(0) & "'") = 0 Then
  Me![正規会員コード] = "22220" & Me.店番.Column(0) & "99999"

  Else
  Me![正規会員コード] = Format(DMax("正規会員コード", "会員情報", "店番=' " & Me.店番.Column(0) & "'") + 1, "000000000000")

  End If
End Sub
・ツリー全体表示

【7872】Re:通貨記号の位置揃え
お礼  ユミちゃん  - 06/5/25(木) 12:27 -

引用なし
パスワード
   ▼ハト さん:
>こんにちは
>
>▼ユミちゃん さん:
>>通貨記号の位置を合計に揃えて印字したいのですが、どのようにすれば良いのでしょうか。Format関数でも上手くできません。宜しくお願いいたします。
>>(現在印字される内容)
>>明細1   \123,456
>>明細2  \2,000,000
>>明細3    \9,256
>>合計   \2,132,712
>>
>>(修正したい印字内容)
>>明細1  \ 123,456
>>明細2  \2,000,000
>>明細3  \  9,256
>>合計   \2,132,712
>
>求められている方法とは違うかもしれませんが
>「明細1」と設定しているエリアに 
>「明細1  \」と設定
>「\123,456」と設定しているエリアに 
>「123,456」と設定 
>
>これじゃだめですかね(^^;
ハト 様
有難うございました。
位置合わせに若干時間をとりましたが、希望通りにできました。
・ツリー全体表示

【7871】Re:顧客コードの頭に定型の番号を振る
質問  TB1  - 06/5/25(木) 11:15 -

引用なし
パスワード
   ▼855 さん:
ご指摘ありがとうございます。
一応、自分のコードと見比べるのですが、どこが悪いのかわかりません。
その後、下5桁はオラクルのほうから指定されるので手入力で良くなりました。
由って上7桁が自動で入ればよいのですが、うまく行きません。
     _________
店番  |_________|←コンボボックスで店番が入っています。
     _________
会員番号|_________|←現状2222099999となってしまう。

以下コード

Private Sub Form_BeforeInsert(Cancel As Integer)

If DCount("正規会員コード", "会員情報", "店番=' " & Me.店番 & "'") = 0 Then
  Me![正規会員コード] = "22220" & Me.店番 & "99999"

  Else
  Me![正規会員コード] = Format(DMax("正規会員コード", "会員情報", "店番=' " & Me.店番 & "'") + 1, "000000000000")

  End If
End Sub


855さんがコードを走らせて問題なかったとおっしゃるものと比較してみてもどうして私のはだめなのかわかりません。

それからサンプルとして取り込んだデータの店番を変更してみても、始めの希望する形なら
22220 01 12345 を コンボボックスで02に変えると  22220 02 12345
と反映されるはずなんですが、されていません。

間違えている箇所を教えてください。
宜しくお願いします。
・ツリー全体表示

【7870】Re:グラフを作成するには
回答  たん  - 06/5/25(木) 11:05 -

引用なし
パスワード
   ヘルプで、キーワードから「グラフの作成」で検索し、
ヘルプを読んでから、何がわからないかを
提示すべきでしょう。
・ツリー全体表示

【7869】Re:AccessよりSqlserverのバックアップ
回答  てっちゃん  - 06/5/25(木) 10:23 -

引用なし
パスワード
   SQLサーバーには、バックアップを自動実行するタスクが用意されていたかと思います。
また、EnterpriseManagerを使えば手動でもバックアップできます。
そちらを使用したほうが良いかと思います。

一応、クエリで
BACKUP DATABASE データベース名 TO DISK='ファイルパス'
を実行すれば、バックアップできるようです。

私は行ったことがないので、詳細は
http://www.microsoft.com/japan/developer/library/tsqlref/ts_ba-bz_35ww.htm
を参照してください。
・ツリー全体表示

【7868】Re:フォームのデータを元に検索
お礼  ののも  - 06/5/25(木) 8:59 -

引用なし
パスワード
   Shinさん、855さん
いただいた案で試してみます。
繰り返しのご対応ほんと感謝しています。
ありがとうございました。
・ツリー全体表示

【7867】グラフを作成するには
質問  一年生  - 06/5/24(水) 21:54 -

引用なし
パスワード
   こんばんは

この質問を隣のExcel掲示板に質問したものです、
Accessの環境で、実現するため、どうすれば可能になるでしょうか?)

Access勉強中で、新しい問題に局面していますので、
どなたか教えていただきたいです。
よろしくお願いします。

以下のデータを元にして、製造コードを選んで(メッセージ
Boxに入力する。製造コードの重複がない)、
グラフを作成したいです。
データレイアウト
製造コード 製造名   200501  200502  200503 ・・・200512
ABCDEF   あいうえお   10    20    10      50



縦軸:数量、横軸:年月
・ツリー全体表示

【7866】Re:フォームのデータを元に検索
発言  855  - 06/5/24(水) 17:52 -

引用なし
パスワード
   検索時に毎回クエリを書き換えてもいいのなら可能だと思います。
ISNULLがNULLなら-1それ以外なら0を返すので、

select * from ( SELECT *, isnull(備考) as 備考チェック FROM Tテーブル ) b
WHERE (備考 Like "*" & [Forms]![フォーム名]![フォーム上のテキストボックス名] & "*" or 備考チェック = -1 )

このままだと[Forms]![フォーム名]![フォーム上のテキストボックス名]に値が入力されてもNULLのデータも入ってきてしまうのでクエリ発行時にIF文か何かで値があったら「備考チェック= -1」を省くでうまくいくのではないかと思います。
・ツリー全体表示

【7865】Re:フォームのデータを元に検索
発言  Shin  - 06/5/24(水) 16:45 -

引用なし
パスワード
   ▼855 さん:

こんにちは
勿論1つのフィールドのみならば可能ですが、
今回の場合、数個のフィールドに設定してあるようです。
私も確認しましたが、数個あり且つNULL値が有る場合うまく動作しないようです。

Access ヘルプに下記の様にあります。

ワイルドカード文字を使用して非 Null 値を返す

"*" (ANSI-89) または "%" (ANSI-92) などのワイルドカード文字を式に使用してフィールドのクエリ基準を定義すると、そのクエリで得られる結果には長さ 0 の文字列は含まれますが、Null 値は含まれません。

これ以上、私にはどの様にしたらよいのか解りません。
他の方のレスを待ってみて下さい。
・ツリー全体表示

【7864】Re:顧客コードの頭に定型の番号を振る
発言  855  - 06/5/24(水) 16:25 -

引用なし
パスワード
   時間があったので同じようにを書いてみたのですが、
私が指摘した・・・

>>Me![正規会員コード] = Format(DMax("正規会員コード", "会員情報", "店番=' " & Me.店番 & "'") + 1, "000000000000")

は上のコードで問題なくできました。。。


コードが10桁しか取れてないってことは単純に

Me![正規会員コード] = "22220" & Me.店番 & "00001

の店番に値が入ってないだけのような気がします。
ブレークポイントなどでプログラムを止めて中身を確認してみて下さい。
入力しているのにデータが反映されていないのなら、、
Me.店番.Requeryを先に書いてみて実行してください。
・ツリー全体表示

【7863】Re:顧客コードの頭に定型の番号を振る
発言  TB1  - 06/5/24(水) 15:45 -

引用なし
パスワード
   ▼855 さん:
ご教授、ありがとうございます。
やってみますので少々お時間をください。
・ツリー全体表示

【7862】Re:フォームのデータを元に検索
発言  ののも  - 06/5/24(水) 14:49 -

引用なし
パスワード
   何度も失礼します。
言葉足らずですみません。


>><クエリ>
>>コード 社員名 担当地区  備考
>>10   Aさん   X    車
>>20   Bさん   X    バス
>>30   Cさん   X
>>40   Dさん   X
>>50   Eさん   X
>>
>>クエリのデザインビューの抽出条件にはこのように設定してあります。
>>Like "*" & [Forms]![フォーム名]![フォーム上のテキストボックス名] & "*"
>
>何欄の抽出条件ですか?文面からは地区ととれますが。

すべての欄に抽出条件を入れてあります。
コード、氏名、担当、備考で検索を行いたいのです。
たとえば「担当地区」でXを抽出したい場合、以下のようになります。


>>検索用フォームの担当地区に「X」と入力し、クエリの検索結果を見ると
>>  10 Aさん X 車
>>  20 Bさん X バス 
>>の2件しか表示されませんでした。
>
>通常ならばAからEまでXが入力されているのですから
>全て表示されると思いますが?

のハズですが、備考欄が空欄だと表示されません・・・。


>>ここで、フォームに設定した
>
>このフォームに設定したとは何処にですか?

すみません、クエリです。
クエリのすべてのフィールドのコード、氏名、担当、備考のうち、
備考に設定した以下のLike〜を削除するとうまく動作します。

>>Like "*" & [Forms]![フォーム名]![フォーム上のテキストボックス名] & "*"
>>のうち、備考欄のものを削除するとうまく動作し、5件表示されます。
>
>上記文面からでは「担当地区」であり「備考欄」との関係は?
>それとも「担当地区」と「備考欄」の2重ですか?
>条件は通常フォームの基となっているクエリの抽出条件欄のみですが。

備考欄は必要があれば備忘記録として何か入力しておく項目として使っています。
運用方法は、コード「10」で検索したり、地区「X」で検索したり、
社員名で「田中」と検索したり、備考欄に対して「車」で検索したり・・・
という使い方です。
・ツリー全体表示

【7861】Re:フォームのデータを元に検索
発言  855  - 06/5/24(水) 13:08 -

引用なし
パスワード
   試してみましたがちゃんと表示されましたよ。
クエリのSQLを確認してみてください。

うまくデータ取れたSQLです。

SELECT *
FROM Tテーブル
WHERE (((Tテーブル.担当地区) Like "*" & [Forms]![フォーム名]![フォーム上のテキストボックス名] & "*"))
・ツリー全体表示

【7860】Re:フォームのデータを元に検索
発言  Shin  - 06/5/24(水) 12:57 -

引用なし
パスワード
   ><クエリ>
>コード 社員名 担当地区  備考
>10   Aさん   X    車
>20   Bさん   X    バス
>30   Cさん   X
>40   Dさん   X
>50   Eさん   X
>
>クエリのデザインビューの抽出条件にはこのように設定してあります。
>Like "*" & [Forms]![フォーム名]![フォーム上のテキストボックス名] & "*"

何欄の抽出条件ですか?文面からは地区ととれますが。

>検索用フォームの担当地区に「X」と入力し、クエリの検索結果を見ると
>  10 Aさん X 車
>  20 Bさん X バス 
>の2件しか表示されませんでした。

通常ならばAからEまでXが入力されているのですから
全て表示されると思いますが?


>ここで、フォームに設定した

このフォームに設定したとは何処にですか?

>Like "*" & [Forms]![フォーム名]![フォーム上のテキストボックス名] & "*"
>のうち、備考欄のものを削除するとうまく動作し、5件表示されます。

上記文面からでは「担当地区」であり「備考欄」との関係は?
それとも「担当地区」と「備考欄」の2重ですか?
条件は通常フォームの基となっているクエリの抽出条件欄のみですが。
・ツリー全体表示

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