本文へ移動
サポートシェアリングソリューション
OKWAVE Plus

このQ&Aは役に立ちましたか?

ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:AccessでRS232Cからデータを受信したい)

AccessでRS232Cからデータを受信する方法

2023/10/20 06:28

このQ&Aのポイント
  • Access2019を使用して外部機器データをRS232C経由で受信する方法について教えてください。
  • スィッチがオンになったときとオフになったときのデータをAccessで取り込む方法を教えてください。
  • 通信方法や設定、受信方法についてのサンプルプログラムなどがあれば教えてください。
※ 以下は、質問の原文です

AccessでRS232Cからデータを受信したい

2019/12/11 10:09

Access2019を使用しています。
RS232C経由で、外部機器データを取り込みたいと思います。
スィッチがオンになったときとオフになったときのデータをその都度取り込みたいです。
通信方法も設定、受信方法などもわかりません。
サンプルプログラムなどありましたら教えてください。
よろしくお願いいたします。

質問者が選んだベストアンサー

ベストアンサー
2019/12/12 16:24
回答No.6

回答5です

>同じ記述をしてもプログラムが走りませんでした。

「走りませんでした」では何も進みませんよ
恐らく以下のようなエラーメッセージが出たハズなんだが
「ポート"com1"が有りません」

貴殿のパソコンに"com1"は憑いてますか? 
現在の市販パソコンには概ね付いて無いんだけど?

よくあるUSB-RS232C変換器
https://www.buffalo.jp/product/detail/src06usb.html
何も考えず自動セットアップしてポート番号が"com1"になる事例は珍しい
多くの場合、com4~com20くらいの間の番号になるんだけど?




実のところ、上記の事は些細などーでもえー小さな問題なんですよ
本当の大きな問題は
>RS232C経由で、外部機器データを取り込みたいと思います。
外部機器って何ですか?
具体的にメーカと機種名を挙げないと何も進みませんよ
それはメーカと機種によって通信手順が違うからです

多くの方々はUSBケーブルみたいに
RS232Cケーブルを挿せば勝手に通信してくれると思い込んでる
RS232Cは勝手に通信してくれません 

例えば↓の計量器と
https://www.aandd.co.jp/adhome/products/balance/fz-iwp.html
↓の計量器とでは
https://www.aandd.co.jp/adhome/products/balance/hc-i.html
通信フォーマットが違うんで、同じプログラムでは動きません
同じメーカなのにですよ 
これは用途が違うからですが
上段のは送信データは単純に質量
下段のは質量に加えて、個数データが憑いてくる

それに合わせて通信プログラムを書かねばねりません


因みに大手メーカ製ならサンプルプログラムは用意してるよ
↑のAANDDの事例では取説にサンプルプログラムが記載されてる
但し、Access用ソフトが用意されてる事例は期待できないでしょう
C言語かVB、せいぜい頑張ってもExcel用

Excelで通信出来たならそのExcelのセルをAccessに貼り付けるだけじゃん?
https://www.feedsoft.net/access/tips/tips170.html

補足

2019/12/12 16:52

ご指摘ありがとうございます。
おっしゃる通り、USBにつなげたバーコードリーダーのような感じで取り込んだもので、、、
なんともなりませんでした。

外部機器ですが、ハウ(株)様の I/O de LAN のPE01Aです。
テラタームで通信確認がようやくできたところで、COM4を使用していました。

単純にスイッチのON、OFFデータの取り込みなのですが、
一定時間(1分おき)で、どのスイッチがONになっているかOFFになっているかを
取り込めないかと思っております。

EXCEL でサンプルプログラムがネットにでているので、試しているのですが、
EXCELのVBAとACCESSのVBAで記述などが違うもところもあり、
調べながらやっております。
(EXCELでVBAを使用したことがないので、、、フォームの作り方もわかりませんでした)
さっきようやくわかりましたが、

その程度の知識しかなかったもので、勉強不足が多くて困っておりました。

質問者

このQ&Aは役に立ちましたか?

この質問は投稿から一年以上経過しています。
解決しない場合、新しい質問の投稿をおすすめします。

質問する

その他の回答 (6件中 1~5件目)

2019/12/11 20:43
回答No.5

↓を理解するスキルが無ければシリアル通信プログラムを作るのは不可能です

microsof公式サイト
方法: Visual Basic でシリアル ポートに文字列を送信する
https://docs.microsoft.com/ja-jp/dotnet/visual-basic/developing-apps/programming/computer-resources/how-to-send-strings-to-serial-ports
方法: Visual Basic でシリアル ポートから文字列を受信する
https://docs.microsoft.com/ja-jp/dotnet/visual-basic/developing-apps/programming/computer-resources/how-to-receive-strings-from-serial-ports

そもそも自力で上記サイトを探しだすスキルが無い人に通信プログラムは書けないんだけど

お礼

2019/12/12 10:09

VBとACCESSでは、違いがあるようで、同じ記述をしてもプログラムが走りませんでした。
もっと勉強をする必要があるようです。
ご指摘ありがとうございました。

質問者
2019/12/11 19:43
回答No.4

>>excel1ではなくaccessでないでしょうか?
中身は一緒ですが

232Cのコンソール
http://www5b.biglobe.ne.jp/~kouta_y/news/newsvb/vb14.html



APIの呼び出し
http://www.ne.jp/asahi/hishidama/home/tech/excel/dll.html
DLLを読み出し 直接WINDOWSの機能を使うことができます
エクセルもワードもaccessも関係ありません
すべての機能が使えるので
DX3Dを使ったゲームアプリも作れます

2019/12/11 19:15
回答No.3

>VBAでは、どのように記述するのでしょうか?

回答内に引用したURLの先は読んでみましたか?
読んでみて、その疑問を書かれているとしたら、
どのURLの、何処が分からなかったのか記載してください。

2019/12/11 15:44
回答No.3

VBA で APIを直接操作すればいいです

エクセルでの例
https://qiita.com/pbjpkas/items/f81947ce38941356ebe4

2019/12/11 10:49
回答No.2

趣味?仕事?
仕事でそのレベルであればちゃんとお金払って助けてもらうべき。
https://www.aggsoft.com/serial-data-logger/rs232-to-mssql.htm

趣味であれば自分で苦労して自学自習することも必要
Access自体にシリアルと接続する機能はありませんAPIなどを経由します。
VBAやC#などで書くことも出来るけど、Access2019で検証している人がいるとも思えないですね。
http://www.matsumasa.com/blogs/codetech/archives/365
http://www.matsumasa.com/blogs/codetech/archives/464
http://akirath86.blogspot.com/2012/10/excelvba.html
http://www.nullskull.com/q/10352459/webcamvideo-capture-through-ms-access-forms.aspx

補足

2019/12/11 14:01

趣味と仕事と半々ですかね、、、
思った以上に難しいようですね、、、
VBAでは、どのように記述するのでしょうか?
参照設定に必要なものはありますでしょうか?

質問者

お礼をおくりました

さらに、この回答をベストアンサーに選びますか?

ベストアンサーを選ぶと質問が締切られます。
なおベストアンサーを選びなおすことはできません。