Page 201 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 通常モードに戻る ┃ INDEX ┃ ≪前へ │ 次へ≫ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ▼簡単ですが・・・ 初心者 03/2/18(火) 10:07 ┣Re:簡単ですが・・・ イケガミ 03/2/18(火) 10:19 ┃ ┗Re:簡単ですが・・・ 初心者 03/2/18(火) 10:37 ┃ ┗Re:簡単ですが・・・ イケガミ 03/2/18(火) 10:43 ┃ ┗Re:簡単ですが・・・ 初心者 03/2/18(火) 10:57 ┃ ┣Re:簡単ですが・・・ 十六茶 03/2/18(火) 11:01 ┃ ┗Re:デバッグ イケガミ 03/2/18(火) 11:19 ┃ ┗Re:デバッグ 初心者 03/2/18(火) 11:32 ┃ ┗Re:デバッグ イケガミ 03/2/18(火) 12:01 ┃ ┗Re:デバッグ 初心者 03/2/18(火) 13:20 ┃ ┗Re:デバッグ イケガミ 03/2/18(火) 13:32 ┃ ┗Re:デバッグ 初心者 03/2/18(火) 13:38 ┃ ┣Re:デバッグ 十六茶 03/2/18(火) 14:04 ┃ ┗Re:デバッグ イケガミ 03/2/18(火) 14:05 ┃ ┣Re:デバッグ 初心者 03/2/18(火) 14:37 ┃ ┃ ┗Re:デバッグ イケガミ 03/2/18(火) 14:53 ┃ ┃ ┗Re:デバッグ 初心者 03/2/18(火) 15:11 ┃ ┣Re:デバッグ 初心者 03/2/18(火) 15:21 ┃ ┗Re:デバッグ 初心者 03/2/18(火) 15:32 ┗Re:簡単ですが・・・ 十六茶 03/2/18(火) 10:19 ─────────────────────────────────────── ■題名 : 簡単ですが・・・ ■名前 : 初心者 ■日付 : 03/2/18(火) 10:07 -------------------------------------------------------------------------
VBAは初心者なので教えて頂ければ嬉しいです。質問も簡単だとは思いますが。 1つ社員登録フォームというのを作りました。 社員番号、社員名を入力し登録(コマンドボタン)ボタンを押した時に テーブルに追加したいのですが上手くいきません。 以下にコードを記述しておきますので、ご指摘のほど宜しくお願い致します。 Dim T_社員番号 As String Dim strSQL As String T_社員番号 = Me!社員番号.Value strSQL = "INSERT INTO T_作業表 (社員コード) VALUES (" & T_社員番号 " )" DoCmd.SetWarnings False DoCmd.RunSQL strSQL DoCmd.SetWarnings True 以上 |
>社員番号、社員名を入力し登録(コマンドボタン)ボタンを押した時に >テーブルに追加したいのですが上手くいきません。 このフォームは非連結フォームということでよろしいでしょうか? >strSQL = "INSERT INTO T_作業表 (社員コード) VALUES (" & T_社員番号 " )" 「社員コード」フィールドの型はなんでしょうか? テキスト型でしたら以下のように変更してください。 strSQL = "INSERT INTO T_作業表 (社員コード) VALUES ('" & T_社員番号 "' )" |
イケガミさん、十六茶さん 有難う御座います。 ご指摘の通り社員番号はテキスト型だったので、「’」でくくりました。 ですが、やはりテーブルの方へ追加されません。 どうしたらいいのでしょう・・・。 十六茶さん DoCmd.RunSQL strSQL,1 ←1はどういう意味ですか? |
>ですが、やはりテーブルの方へ追加されません。 & が抜けてますね。 strSQL = "INSERT INTO T_作業表 (社員コード) VALUES ('" & T_社員番号 & "' )" でどうでしょうか? > DoCmd.RunSQL strSQL,1 ←1はどういう意味ですか? ヘルプで以下の項目を確認してください。 RunSQL メソッド |
イケガミさん 回答有難う御座います。 >& が抜けてますね ごめんなさい。私の記述みすでした。 >strSQL = "INSERT INTO T_作業表 (社員コード) VALUES ('" & T_社員番号 & "' )" になっておりますが、まだテーブルに追加されません。 >RunSQL メソッド ヘルプで確認致します。 もしまだ手助けをして頂けるならば嬉しい限りです。 |
▼初心者 さん: >イケガミさん >回答有難う御座います。 > >>& が抜けてますね >ごめんなさい。私の記述みすでした。 > >>strSQL = "INSERT INTO T_作業表 (社員コード) VALUES ('" & T_社員番号 & "' )" >になっておりますが、まだテーブルに追加されません。 > >>RunSQL メソッド >ヘルプで確認致します。 > >もしまだ手助けをして頂けるならば嬉しい限りです。 strSQL = "INSERT INTO T_作業表 (社員コード) VALUES ('" & T_社員番号 & "' );" SQL文の最後セミコロンを入れてみてはいかがでしょうか? 私は癖でいつもつけています。 これっているのかな? |
>strSQL = "INSERT INTO T_作業表 (社員コード) VALUES ('" & T_社員番号 & "' )" デバッグをしてみてください。 方法は、上記の次の行に、 Debug.Print strSQL といれて、実行後にイミディエイトウィンドウに出力されるSQL文を クエリのSQLビューに貼り付けてクエリを実行してみてください。 |
イケガミさん、十六茶さん 回答有難う御座います。 十六茶さん ;を入れてみましたが駄目でした。 イケガミさん デバック文を入れクエリを実行しましたがエラーが出ました。 エラー内容は以下の通り 型変換エラーのため、0個のフィールドをNullに設定しました。また、0件のレコード でキー違反、0件のレコードでロック違反、1件のレコードで入力規則違反が 発生したため、レコードを追加できませんでした。 もしよろしければ、対処方法を教えて頂けないでしょうか。 宜しくお願い致します。 |
>型変換エラーのため、0個のフィールドをNullに設定しました。また、0件のレコード >でキー違反、0件のレコードでロック違反、1件のレコードで入力規則違反が >発生したため、レコードを追加できませんでした。 テーブルの構造はどうなっていますか? フィールド情報 インデックス(主キー含む)情報 などを教えてください。 あと、Debug.Printで出力されたSQL文もUpしていただけますか? |
イケガミさん 返信有難う御座います。 >テーブルの構造はどうなっていますか? >フィールド情報 >インデックス(主キー含む)情報 >などを教えてください。 実はこのプログラム(システム?)は先輩から受け継いだものでテーブルは私は 作っておりません。 以下、テーブル情報を記載します。 フィールド名 データ型 インデックス 月度 テキスト いいえ 社員コード テキスト はい(重複あり) 月日 数値 いいえ 出勤時刻 日付/時刻 いいえ 退社時刻 日付/時刻 いいえ 主キーは設定されておりません。 >あと、Debug.Printで出力されたSQL文もUpしていただけますか? INSERT INTO T_作業表 (社員コード) VALUES ('13'); もしかしたらテーブル自体の設定がおかしいのですかね・・・? 何も知らなくて申し訳ないです。 宜しくお願い致します。 |
>社員コード テキスト はい(重複あり) このフィールドに入力規則を設定していないですか? このフィールドのプロパティの内容を確認してください。 |
>>社員コード テキスト はい(重複あり) > >このフィールドに入力規則を設定していないですか? >このフィールドのプロパティの内容を確認してください。 確認した所、設定はしていませんでした。 |
▼初心者 さん: >>>社員コード テキスト はい(重複あり) >> >>このフィールドに入力規則を設定していないですか? >>このフィールドのプロパティの内容を確認してください。 > >確認した所、設定はしていませんでした。 十六茶です。 忙しくて返信できなくてすいません。 で、 社員コード以外のフィールドの、値要求プロパティに ”はい”が設定されていません? 確認してみてください。 |
>確認した所、設定はしていませんでした。 > フィールド名 データ型 インデックス > 月度 テキスト いいえ > 社員コード テキスト はい(重複あり) > 月日 数値 いいえ > 出勤時刻 日付/時刻 いいえ > 退社時刻 日付/時刻 いいえ では、各フィールドのプロパティで 値要求 はい 空文字列の許可 いいえ となっているものはないですか? #例えば、月度フィールドには必ず値を入れないといけないように なっているのに、現在のSQL文では入らないためエラーになっているとか。 |
イケガミさん、十六茶さん 回答有難う御座います。 申し訳ないのですが、プロパティで値要求という項目はあるのですか? 見当たらないのでいが・・・。 |
>申し訳ないのですが、プロパティで値要求という項目はあるのですか? >見当たらないのでいが・・・。 バージョンは何でしょうか? 入力規則の2つ下ぐらいにあると思いますけど。(Acc2000) |
>バージョンは何でしょうか? > >入力規則の2つ下ぐらいにあると思いますけど。(Acc2000) バージョンは2000です。 入力規則の2つ下ぐらいを見ましたけど見つかりません。 申し訳ないです。 |
申し訳ありません。 私が見るところを間違っていました。 値要求 はい 空白文字の許可 いいえ になっていました。 申し訳ないです。 |
値要求 いいえ 空文字列の許可 はい と設定したところテーブルに追加されました。 これから徐々に改造(カスタマイズ?)していきます。 (コンピュータ用語あまり知りませんのですみません) 初心者の私に丁寧に教えて下さったイケガミさん、十六茶さん 本当に有難う御座いました。 |
▼初心者 さん: >VBAは初心者なので教えて頂ければ嬉しいです。質問も簡単だとは思いますが。 >1つ社員登録フォームというのを作りました。 >社員番号、社員名を入力し登録(コマンドボタン)ボタンを押した時に >テーブルに追加したいのですが上手くいきません。 >以下にコードを記述しておきますので、ご指摘のほど宜しくお願い致します。 > >Dim T_社員番号 As String >Dim strSQL As String > >T_社員番号 = Me!社員番号.Value > >strSQL = "INSERT INTO T_作業表 (社員コード) VALUES (" & T_社員番号 " )" > >DoCmd.SetWarnings False >DoCmd.RunSQL strSQL >DoCmd.SetWarnings True > >以上 初心者 さん、こんにちは、十六茶です。 Dim T_社員番号 As String Dim strSQL As String T_社員番号 = Me!社員番号.Value strSQL = "INSERT INTO T_作業表(社員コード) VALUES(" & T_社員番号 ");" DoCmd.SetWarnings False DoCmd.RunSQL strSQL,-1 DoCmd.SetWarnings True こんな感じでどうでしょう? もし社員コードフィールドがテキスト型ならT_社員番号を’で囲う必要もあります。 失敗してたらごめん。 |