過去ログ

                                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

以上

 ───────────────────────────────────────  ■題名 : Re:簡単ですが・・・  ■名前 : イケガミ <ikegami_kumamoto@dosule.com>  ■日付 : 03/2/18(火) 10:19  -------------------------------------------------------------------------
   >社員番号、社員名を入力し登録(コマンドボタン)ボタンを押した時に
>テーブルに追加したいのですが上手くいきません。

このフォームは非連結フォームということでよろしいでしょうか?

>strSQL = "INSERT INTO T_作業表 (社員コード) VALUES (" & T_社員番号 " )"
「社員コード」フィールドの型はなんでしょうか?
テキスト型でしたら以下のように変更してください。
strSQL = "INSERT INTO T_作業表 (社員コード) VALUES ('" & T_社員番号 "' )"

 ───────────────────────────────────────  ■題名 : Re:簡単ですが・・・  ■名前 : 初心者  ■日付 : 03/2/18(火) 10:37  -------------------------------------------------------------------------
   イケガミさん、十六茶さん
有難う御座います。

ご指摘の通り社員番号はテキスト型だったので、「’」でくくりました。
ですが、やはりテーブルの方へ追加されません。
どうしたらいいのでしょう・・・。

十六茶さん
DoCmd.RunSQL strSQL,1 ←1はどういう意味ですか?

 ───────────────────────────────────────  ■題名 : Re:簡単ですが・・・  ■名前 : イケガミ <ikegami_kumamoto@dosule.com>  ■日付 : 03/2/18(火) 10:43  -------------------------------------------------------------------------
   >ですが、やはりテーブルの方へ追加されません。

& が抜けてますね。

strSQL = "INSERT INTO T_作業表 (社員コード) VALUES ('" & T_社員番号 & "' )"
でどうでしょうか?


> DoCmd.RunSQL strSQL,1 ←1はどういう意味ですか?
ヘルプで以下の項目を確認してください。
RunSQL メソッド

 ───────────────────────────────────────  ■題名 : Re:簡単ですが・・・  ■名前 : 初心者  ■日付 : 03/2/18(火) 10:57  -------------------------------------------------------------------------
   イケガミさん
回答有難う御座います。

>& が抜けてますね
ごめんなさい。私の記述みすでした。

>strSQL = "INSERT INTO T_作業表 (社員コード) VALUES ('" & T_社員番号 & "' )"
になっておりますが、まだテーブルに追加されません。

>RunSQL メソッド
ヘルプで確認致します。

もしまだ手助けをして頂けるならば嬉しい限りです。

 ───────────────────────────────────────  ■題名 : Re:簡単ですが・・・  ■名前 : 十六茶  ■日付 : 03/2/18(火) 11:01  -------------------------------------------------------------------------
   ▼初心者 さん:
>イケガミさん
>回答有難う御座います。
>
>>& が抜けてますね
>ごめんなさい。私の記述みすでした。
>
>>strSQL = "INSERT INTO T_作業表 (社員コード) VALUES ('" & T_社員番号 & "' )"
>になっておりますが、まだテーブルに追加されません。
>
>>RunSQL メソッド
>ヘルプで確認致します。
>
>もしまだ手助けをして頂けるならば嬉しい限りです。


strSQL = "INSERT INTO T_作業表 (社員コード) VALUES ('" & T_社員番号 & "' );"

SQL文の最後セミコロンを入れてみてはいかがでしょうか?
私は癖でいつもつけています。
これっているのかな?

 ───────────────────────────────────────  ■題名 : Re:デバッグ  ■名前 : イケガミ <ikegami_kumamoto@dosule.com>  ■日付 : 03/2/18(火) 11:19  -------------------------------------------------------------------------
   >strSQL = "INSERT INTO T_作業表 (社員コード) VALUES ('" & T_社員番号 & "' )"

デバッグをしてみてください。

方法は、上記の次の行に、
Debug.Print strSQL
といれて、実行後にイミディエイトウィンドウに出力されるSQL文を
クエリのSQLビューに貼り付けてクエリを実行してみてください。

 ───────────────────────────────────────  ■題名 : Re:デバッグ  ■名前 : 初心者  ■日付 : 03/2/18(火) 11:32  -------------------------------------------------------------------------
   イケガミさん、十六茶さん
回答有難う御座います。

十六茶さん
;を入れてみましたが駄目でした。

イケガミさん
デバック文を入れクエリを実行しましたがエラーが出ました。
エラー内容は以下の通り

型変換エラーのため、0個のフィールドをNullに設定しました。また、0件のレコード
でキー違反、0件のレコードでロック違反、1件のレコードで入力規則違反が
発生したため、レコードを追加できませんでした。

もしよろしければ、対処方法を教えて頂けないでしょうか。
宜しくお願い致します。

 ───────────────────────────────────────  ■題名 : Re:デバッグ  ■名前 : イケガミ <ikegami_kumamoto@dosule.com>  ■日付 : 03/2/18(火) 12:01  -------------------------------------------------------------------------
   >型変換エラーのため、0個のフィールドをNullに設定しました。また、0件のレコード
>でキー違反、0件のレコードでロック違反、1件のレコードで入力規則違反が
>発生したため、レコードを追加できませんでした。

テーブルの構造はどうなっていますか?

フィールド情報
インデックス(主キー含む)情報
などを教えてください。

あと、Debug.Printで出力されたSQL文もUpしていただけますか?

 ───────────────────────────────────────  ■題名 : Re:デバッグ  ■名前 : 初心者  ■日付 : 03/2/18(火) 13:20  -------------------------------------------------------------------------
   イケガミさん
返信有難う御座います。

>テーブルの構造はどうなっていますか?
>フィールド情報
>インデックス(主キー含む)情報
>などを教えてください。
実はこのプログラム(システム?)は先輩から受け継いだものでテーブルは私は
作っておりません。
以下、テーブル情報を記載します。

フィールド名 データ型  インデックス
月度     テキスト  いいえ
社員コード  テキスト  はい(重複あり)
月日     数値    いいえ
出勤時刻   日付/時刻  いいえ
退社時刻   日付/時刻  いいえ

主キーは設定されておりません。

>あと、Debug.Printで出力されたSQL文もUpしていただけますか?
INSERT INTO T_作業表 (社員コード) VALUES ('13');

もしかしたらテーブル自体の設定がおかしいのですかね・・・?
何も知らなくて申し訳ないです。
宜しくお願い致します。

 ───────────────────────────────────────  ■題名 : Re:デバッグ  ■名前 : イケガミ <ikegami_kumamoto@dosule.com>  ■日付 : 03/2/18(火) 13:32  -------------------------------------------------------------------------
   >社員コード  テキスト  はい(重複あり)

このフィールドに入力規則を設定していないですか?
このフィールドのプロパティの内容を確認してください。

 ───────────────────────────────────────  ■題名 : Re:デバッグ  ■名前 : 初心者  ■日付 : 03/2/18(火) 13:38  -------------------------------------------------------------------------
   >>社員コード  テキスト  はい(重複あり)
>
>このフィールドに入力規則を設定していないですか?
>このフィールドのプロパティの内容を確認してください。

確認した所、設定はしていませんでした。

 ───────────────────────────────────────  ■題名 : Re:デバッグ  ■名前 : 十六茶  ■日付 : 03/2/18(火) 14:04  -------------------------------------------------------------------------
   ▼初心者 さん:
>>>社員コード  テキスト  はい(重複あり)
>>
>>このフィールドに入力規則を設定していないですか?
>>このフィールドのプロパティの内容を確認してください。
>
>確認した所、設定はしていませんでした。


十六茶です。
忙しくて返信できなくてすいません。

で、
社員コード以外のフィールドの、値要求プロパティに
”はい”が設定されていません?

確認してみてください。

 ───────────────────────────────────────  ■題名 : Re:デバッグ  ■名前 : イケガミ <ikegami_kumamoto@dosule.com>  ■日付 : 03/2/18(火) 14:05  -------------------------------------------------------------------------
   >確認した所、設定はしていませんでした。

> フィールド名 データ型  インデックス
> 月度     テキスト  いいえ
> 社員コード  テキスト  はい(重複あり)
> 月日     数値    いいえ
> 出勤時刻   日付/時刻  いいえ
> 退社時刻   日付/時刻  いいえ

では、各フィールドのプロパティで

 値要求      はい
 空文字列の許可  いいえ

となっているものはないですか?

#例えば、月度フィールドには必ず値を入れないといけないように
 なっているのに、現在のSQL文では入らないためエラーになっているとか。

 ───────────────────────────────────────  ■題名 : Re:デバッグ  ■名前 : 初心者  ■日付 : 03/2/18(火) 14:37  -------------------------------------------------------------------------
   イケガミさん、十六茶さん
回答有難う御座います。

申し訳ないのですが、プロパティで値要求という項目はあるのですか?
見当たらないのでいが・・・。

 ───────────────────────────────────────  ■題名 : Re:デバッグ  ■名前 : イケガミ <ikegami_kumamoto@dosule.com>  ■日付 : 03/2/18(火) 14:53  -------------------------------------------------------------------------
   >申し訳ないのですが、プロパティで値要求という項目はあるのですか?
>見当たらないのでいが・・・。

バージョンは何でしょうか?

入力規則の2つ下ぐらいにあると思いますけど。(Acc2000)

 ───────────────────────────────────────  ■題名 : Re:デバッグ  ■名前 : 初心者  ■日付 : 03/2/18(火) 15:11  -------------------------------------------------------------------------
   >バージョンは何でしょうか?
>
>入力規則の2つ下ぐらいにあると思いますけど。(Acc2000)

バージョンは2000です。
入力規則の2つ下ぐらいを見ましたけど見つかりません。
申し訳ないです。

 ───────────────────────────────────────  ■題名 : Re:デバッグ  ■名前 : 初心者  ■日付 : 03/2/18(火) 15:21  -------------------------------------------------------------------------
   申し訳ありません。
私が見るところを間違っていました。

値要求      はい
空白文字の許可  いいえ

になっていました。
申し訳ないです。

 ───────────────────────────────────────  ■題名 : Re:デバッグ  ■名前 : 初心者  ■日付 : 03/2/18(火) 15:32  -------------------------------------------------------------------------
   値要求      いいえ
空文字列の許可  はい

と設定したところテーブルに追加されました。
これから徐々に改造(カスタマイズ?)していきます。
(コンピュータ用語あまり知りませんのですみません)

初心者の私に丁寧に教えて下さったイケガミさん、十六茶さん
本当に有難う御座いました。

 ───────────────────────────────────────  ■題名 : Re:簡単ですが・・・  ■名前 : 十六茶  ■日付 : 03/2/18(火) 10:19  -------------------------------------------------------------------------
   ▼初心者 さん:
>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_社員番号を’で囲う必要もあります。
失敗してたらごめん。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━    通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━                                 Page 201