Visual Basic 中学校 掲示板 投稿の管理
タグのない投稿を抽出
統計
RSS
Visual Basic 中学校
投稿一覧
Accessのテーブルに0001を書き込むとゼロサプレスされてしまいます。
この投稿へのリンク
https://keijiban.umayadia.com/ThreadDetail.aspx?ThreadId=10224#CommentId20605
この投稿の削除
削除パスワード
削除する
コメント本文
投稿者
他路
 (社会人)
投稿日時
2011/5/17 15:14:24
お世話になっております。早速ですが教えてください。
VisualBasic2010 と Access2010 を使用しています。
①TextK を、Access2010 で作成された、テーブル(基礎全データ)に新規レコードを作成し
最初のフィールドに入力しようとしています。ところがテーブルには、ゼロサプレスされた
(余分なゼロを省略)ものが、入力されてしまいます。
どこが問題なのでしょうか?
テーブル(基礎全データ)の全フィールド(27フィールド)は、テキスト型です。
テーブルに入力する直前の MsgBox(TextK) では、例えば 0001 と表示されますが
Access2010のテーブルには、 1 が入力されています。
また、Access2010のテーブルを開いて、手動で、 0001 と入力すると、その通り入力
されます。
Com = New OleDb.OleDbCommand("INSERT INTO 基礎全データ Values(" & TextK _
& ",'','','','','','','','','','','','','','','','','','','','','','','','有効','',yes)",cn)
を
.........INTO 基礎全データ Values(" & TextK.PadLeft(4,"0") _
& ",'','','','','','','','','','','','','','','','','','','','','','','','有効','',yes)",cn)
としても、同じでした。
②Com = New OleDb.OleDbCommand("INSERT INTO 基礎全データ Values(" _
& TextK.PadLeft(4,"0") & ",'','','','','','','','','','','','','','','','','','','','','','','','有効','',yes)",cn)
で、最初のフィールドに、TextK を入力し残りの26フィールドに空白を入力する
ようにしています。すっきりとできるコードはあるのでしょうか?
よろしくお願いいたします。
---------------------------------------------
:
:
TextK = Trim$(ExtArr(1,2))
Dim Com As OleDb.OleDbCommand
Dim cn As OleDb.OleDbConnection = New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;" _
& "Data Source=H:\台帳.accdb;")
cn.Open()
Try
MsgBox(TextK)
Com = New OleDb.OleDbCommand("INSERT INTO 基礎全データ Values(" & TextK.PadLeft(4,"0") & ",'','','','','','','','','','','','','','','','','','','','','','','','有効','',yes)",cn)
Com.ExecuteNonQuery()
cn.Close()
MessageBox.Show("追加しましよ。","通知")
Catch ex As Exception
cn.Close()
MessageBox.Show(ex.Message,"通知")
End Try
-------------------------------------------------