アプリ版:「スタンプのみでお礼する」機能のリリースについて

いつもお世話になっております
以下のSQL実行しましたが、
エラーでませんが、データの書き込みが
いきません。

1.Desktopに顧客情報のWorkbookがあります。
2.そのシートには顧客の名前のシートがあります。
 顧客のシートには 
 A列   B列  C列    D列
商品コード 商品名 仕入れ単価 販売単価

3.現在開いているエクセル標準モジュールから
以下のコードを実行しています。

現在開いている、A1 コード
        B1 商品
        C1 仕入
        D1 販売 

コード = Range("A2").Value
仕入 = Range("C2").Value
販売 = Range("D2").Value
商品 = Range("B2").Value


Dim objCn As New ADODB.Connection
Dim コマンド As New ADODB.Command
Dim 仕入 As Long
Dim 販売 As Long
Dim 商品 As String
Dim コード As String


コード = Range("A2").Value
仕入 = Range("C2").Value
販売 = Range("D2").Value
商品 = Range("B2").Value


With objCn
.Provider = "Microsoft.ACE.OLEDB.12.0"
.Properties("Extended Properties") = "Excel 12.0"
.Open "\Desktop\顧客情報1.xlsx" --------------個人情報なので一部省略
End With

With コマンド
.ActiveConnection = objCn
.CommandText = _
"INSERT INTO [顧客$](商品コード,商品名,仕入れ単価,販売単価)" _
& "VALUES('" & コード & " ','" & 商品 & " ','" & CStr(仕入) & "','" & CStr(販売) & "')"
.Execute
End With

質問者からの補足コメント

  • うーん・・・

    現在ひらいている下記のセルの値を
    顧客情報に書き込むというかんじです

    コード = Range("A2").Value
    仕入 = Range("C2").Value
    販売 = Range("D2").Value
    商品 = Range("B2").Value

      補足日時:2020/08/06 20:51
  • うーん・・・

    接続は成功しています。
    なんかいかやったら0の値が表示
    されました。

      補足日時:2020/08/06 20:55
  • お願いいたします。

      補足日時:2020/08/06 20:57
  • うーん・・・

    CStr関数で数値を数字に変えている点が気になるくらいです。
    あるサイトから頂戴しました。そのまましようしているから
    書式設定考えます。
    また、実行したらありました。書き込みが
    39行目になぜかあります。
    なぜ2行目ではないのですか
    2行目から追加で3・4と追加されるのではないのですか

    No.1の回答に寄せられた補足コメントです。 補足日時:2020/08/06 21:20

A 回答 (2件)

見えない何かがその行間にあるのではないでしょうか?


その空白の行を纏めて選択肢削除して上書き保存して一度閉じてみては?
    • good
    • 0
この回答へのお礼

すごいです。なんでなんでしょぅか
見えない何かがその行間にあるのではないでしょうか?
その通りです。
なにもなかったですが、あるんですね
違うNOで追加したら下の行に追加されました。

本当にありがとうございました

お礼日時:2020/08/06 21:34

コード的には一切(接続するBookのPath以外)何も弄らなくてもキチンとデータの追記は出来てますよ。


CStr関数で数値を数字に変えている点が気になるくらいです。
書き込む側の各セルの書式設定での値の扱いは適切に選ばれているのでしょうか?って位ですが、多少違っても書き込まれてはいます。
この回答への補足あり
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!