ACCESSでMScommオブジェクトを使用し、ある機器からデータの読み取りを行いたいのですが、肝心のOncommイベントが発生いたしません。
なにか、ライブラリの参照設定が必要なのですか?
それとも、自分の設定間違い(不足)なのでしょうか?
前にVBでMScommを使用したことがありますが、なにも特別なことはしなかったような・・・(MSCOMM32.OCXを使用しています)
補足が必要であれば、追記いたします。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

ケーブル確認


>ある機器
は、特殊なケーブル接続では?
クロス/ストレートを間違ってないか?
使用しているケーブルが断線していないか?

>なにも特別なことはしなかったような
 プロパティは、あっていますか?

Accessだけで、NGとは考えにくいです。
    • good
    • 0
この回答へのお礼

解決しました
おあっしゃるとうりInBufferCountプロパティが「0」のままでした
これを「1」にしたところ無事に動作するようになりました

お礼日時:2001/09/07 12:00

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qイベントevt?evt.target:event.srcElement;の意味合い

以下の理解で合っているのでしょうか?
よくイベントの取得で

エレメント.onclick = function(evt){
var e = evt?evt.target:event.srcElement;
}
でeにイベントオブジェクトの発生元要素をセットしているのを見かけますが、
これは、ブラウザーの違いの吸収なのでしょうか?

firefoxでは、イベントハンドラー関数にイベントオブジェクトが渡されるので、渡されたイベントオブジェクトよりevt.targetで発生元要素をセットし、一方IEでは、eventという名前のオブジェクトが存在している(?)ので、イベントハンドラー関数にイベントオブジェクトが渡されず、event.srcElementで発生元要素をセットする。
 ※Opera、Safariは何でも良い

IEの場合、後から、イベントが追加されたらeventオブジェクトはどうなるのでしょうか?ある要素の一つのイベントタイプには一つのイベントハンドラーしか定義できないのでしょうか?

Aベストアンサー

> ある要素の一つのイベントタイプには一つのイベントハンドラーしか定義できないのでしょうか?
attachEvent() を使えば、複数のイベントハンドラを定義できそうです。(未検証)
また、attachEvent() の第一引数からイベントオブジェクトを取得できる、とbabu_babooさんに教わりました。
http://okwave.jp/qa5081024.html?ans_count_asc=1

ただ、attachEvent は実行順が不定という欠点があるので、現実的には「出来ない」という結論になると思います…。

addEventListenerとattachEventでは実行される順番が違う at HouseTect, JavaScripter Blog
http://hisasann.com/housetect/2008/09/addeventlistenerattachevent.html
IEのイベント実行順序は不定? - inamenaiの日記
http://d.hatena.ne.jp/inamenai/20080915/p1

IEが addEventListener() に対応してくれればいいのですが…。

> ある要素の一つのイベントタイプには一つのイベントハンドラーしか定義できないのでしょうか?
attachEvent() を使えば、複数のイベントハンドラを定義できそうです。(未検証)
また、attachEvent() の第一引数からイベントオブジェクトを取得できる、とbabu_babooさんに教わりました。
http://okwave.jp/qa5081024.html?ans_count_asc=1

ただ、attachEvent は実行順が不定という欠点があるので、現実的には「出来ない」という結論になると思います…。

addEventListenerとattachEventでは実行される順番...続きを読む

QWMP.OCX(Windows Media PlayerのOCX)の使用し方について

色々と参考書や雑誌などに目を通しましたが、
WMP.OCXのコンポーネントについての使い方が記載されたものが全く無く大変悩んでおります。
もし分かる方が、おられましたらお願い致します。

Aベストアンサー

そのファイルは名前からしてWindows Media Playerのものだと思いますが、どうやら、一般プログラマが自分のプログラムに利用するためにあるカスタムコントロールではないようです。
とくにVBで使うためのものではないようで。
おそらく、再配布ライセンスもありません。

ちょっと古い話ですが、Active Movieコントロールである、amovie.ocxについても同様でした。
それでも個人ユースで、色々と作ってしまいましたが。

使い方とまではいきませんが、プロパティやそのちょっとした説明だけなら、F2を押して現れるオブジェクトブラウザで確認することができるはずです。
私もamovie.ocxについてはそれでなんとか解析しました。

チャレンジあれ。

はぽるんでした。

Qmousewheelイベントについて

あまりしないことだと思うのですが。
質問させていただきます。

ボタンをクリックしてmousewheelイベントを発生させることはできるでしょうか。
下記の様に書いたのですが、
event.wheelDelta = -120; //or 120
が無視されました。

function click_hoge(){
var event = document.createEventObject();
event.eventType="mousewheel";
event.wheelDelta = -120; //or 120
document.body.fireEvent( "onmousewheel", event );
}

失礼いたします。

Aベストアンサー

eventオブジェクトのwheelDeltaプロパティは、
現状のブラウザ(IE、Chrome、Firefox、Safari)では
読み出しのみで、値をセットをする事は出来ません。

http://msdn.microsoft.com/en-us/library/ms535142%28v=VS.85%29.aspx
http://help.dottoro.com/ljekedtv.php


WheelEventイベントの発火自体出来ます。
IEは、
 var evt = document.createEventObject();
 evt.detail = 0;
 elment.fireEvent ("onmousewheel",evt);
IE以外は、
 var evt = document.createEvent("WheelEvent");
 var detail = 0;
 evt.initUIEvent("mousewheel",true,true,document.defaultView,detail);
 elment.dispatchEvent(evt);
です。DOM Level 3 Eventインターフェースが実装されれば、
 var evt = document.createEvent("WheelEvent");
 evt.initWheelEvent("wheel",true,true,document.defaultView,0,0,0,0,0,0,
  document.body,null,0,-120,0,0);
 elm.dispatchEvent(evt);
とできそうですが....

現状の対処として、イベント自体は発火してますから、
detailプロパティにホイール量を仮セットしておいて、
onmousewheelのイベントハンドラー関数で、
event.wheelDeltaを参照する代わりに、event.detailを参照して
スクロールなり何なりの処理を自分で書いてあげれば、
思ったことが出来るかも。

http://www.w3.org/TR/DOM-Level-3-Events/#events-wheelevents
http://help.dottoro.com/ljrxdxdw.php
http://msdn.microsoft.com/en-us/library/ms536390%28VS.85%29.aspx

eventオブジェクトのwheelDeltaプロパティは、
現状のブラウザ(IE、Chrome、Firefox、Safari)では
読み出しのみで、値をセットをする事は出来ません。

http://msdn.microsoft.com/en-us/library/ms535142%28v=VS.85%29.aspx
http://help.dottoro.com/ljekedtv.php


WheelEventイベントの発火自体出来ます。
IEは、
 var evt = document.createEventObject();
 evt.detail = 0;
 elment.fireEvent ("onmousewheel",evt);
IE以外は、
 var evt = document.createEvent("WheelEvent");
 var detail = 0;
 e...続きを読む

QMscomm を使用してバイナリでデータを受信したい

Mscommを使用して、垂れ流しデーターをバイナリで受信(受信データ長さは変化する)するとき、このデーターをどうやって、配列に格納していけば良いのでしょうか?

(垂れ流しデータ ⇒ < STX >nnn-nnn・・・・< ETX >< CHK >)

また、配列に格納したデーターを文字に置き換えるにはどうすれば良いでしょうか?

まず考え方として以下の流れでよいでしょうか?

バイナリデータをバリアント型の変数に入れる。(受信する)
     ↓
このデータを1バイトごとにバイト型変数の配列に入れていく。
     ↓
格納した配列の中の制御文字を取り除く。( ST、EX )
     ↓
配列に入っているデータを文字に変換する。
     ↓
変換した文字をつなぐ。

受信するデーターが制御文字を含んでいる為、テキストで受信するとおかしな動作をすることがあるので(150バイト程度のデーターを、バッファから変数に移すときに、0.5~2.5秒もかかってしまうし、文字化けも時々起こす。)バイナリで受信してその後文字に変換したいのですが・・・。

宜しくお願い致します。

Mscommを使用して、垂れ流しデーターをバイナリで受信(受信データ長さは変化する)するとき、このデーターをどうやって、配列に格納していけば良いのでしょうか?

(垂れ流しデータ ⇒ < STX >nnn-nnn・・・・< ETX >< CHK >)

また、配列に格納したデーターを文字に置き換えるにはどうすれば良いでしょうか?

まず考え方として以下の流れでよいでしょうか?

バイナリデータをバリアント型の変数に入れる。(受信する)
     ↓
このデータを1バイトごとにバイト型変数の配列に入れていく。
   ...続きを読む

Aベストアンサー

(記憶が薄いので、正確ではありません。)

Dim bytAry() as byte
として、それに直接受信してあげると必要な領域を勝手にVB側で用意してくれると思いました。

それを
Dim strWork as String
(1)strWork = strConv(bytAry,vbUnicode)
(2)strWork = strConv(bytAry,vbFormUnicode)
どっちかで変換だったと思うけど、それでバイナリデータを文字列化します。

そのあと
VB6ならReplace関数で制御文字だけを置き換えて使用すると便利かも?

最初に述べたように、かなり記憶があいまいです。環境がないので性格には答えられません。m(__)m

QDLL内のイベントをハンドリング

VB2008にて、外部DLL(VB2008作成)を使用しようと考えています。

外部DLLの仕様書には、メソッド、イベント、プロパティが記載されており、
外部DLLの発生させるイベントをハンドリングしたいのですがうまくいきません。

「参照の追加」にてDLLを指定し、ソース内で該当DLLのクラスもインスタンス化し、
DLL内のメソッドは使用できています。

イベントに関して仕様書には
Event001(Byval arg1,Byval arg2)、Event002(Byval arg1,Byval arg2)、Event003…
このように記載されています。


該当DLLのインスタンス化したものをTestClassとして、
Public Event TestEvent Handles TestClass.Event001
という記載では駄目でした。

外部DLLのイベントのハンドリングについて、ご教授頂けましたら幸いです。

Aベストアンサー

まず、

Private WithEvents TestClass As Class1

などのように宣言します。(クラスを Class1 としました。また、必要であれば、Protected や Public にしても構いません。)
すると、コードのウィンドウの上にある二つ並んだコンボボックスの左側で TestClass が選択できるようになります。TestClass を選択して、次に、右側のコンボボックスから Event001 を選択すると

Private Sub TestClass_Event001(ByVal arg1 As Object, ByVal arg2 As Object) Handles TestClass.Event001

End Sub

が自動的に生成されると思います。
(手入力も可)

QVBで作成したEXEが使用しているOCX,DLLを見る方法

VBで作成したEXEがあります。
ただ残念な事に、タイで作成したこともあり、ソースがありません。

それ故に、あるPCでは動作し、あるPCでは動作しないといった不具合の原因が調査できずに困っています。

エラーの内容としては「ActiveXコンポーネントが作成できない」旨のエラーですので、何かのDLLもしくはOCXの登録が抜けていると思うのですが、どのファイルかが分からず困っています。

現行動作するマシンがありますので、タスクマネージャの様な感じでEXEが使用しているOCX,DLLを見る方法があれば助かるな~。と思い質問させていただきました。

ご存知の方、どうぞご教授頂けますと大変ありがたいです。

どうぞよろしくお願い致します。

Aベストアンサー

履歴にありました。。。

http://okwave.jp/kotaeru.php3?q=321323
の#6のtaka_tetsuさんの発言

http://www.vector.co.jp/soft/win95/util/se054263.html​
にて出来そうですね^^

Qイベント日付(複数または連続した日付)をデータベースで管理する方法について

イベント情報のデータベースを作成していますが、
どのように日付情報をデータベースとして持たせたらよいのか悩んでいます。
効率的な方法がありましたら教えていただけると幸いです。
長文になり、失礼いたします。

[目的]
イベント毎に開催日時や主催者などのデータベースを構築し、開催日時で検索を行いたい。

[悩みどころ]
開催日時が、”2008年9月24日”のように1日で終わるものであれば問題ないのですが、”2008年9月24~28日”のような連続した日付や、”2008年9月24日、2008年9月26日”のような連続しない複数日の場合に、どのようなデータベース構造を持たせるべきなのか悩んでいます。

[現状の案]
現状は、イベントテーブルと日付テーブルを分けて管理する方法を考えていますが、これが一般的な方法なのでしょうか。

<EVENT_TABLE>
event_id:(auto increment)
event_name:イベントの名前

<DATE_TABLE>
date_id:(auto increment)
event_id:EVENT_TABLE.event_id を指すID
date:イベント開催日単日

イベントの開催日が1日であれば、一つのevent_idと一つのdate_id。
イベントの開催日が、連続した三日であれば、一つのevent_idと三つのdate_id。
イベントの開催日が、連続しない三日であれば、一つのevent_idと三つのdate_id。

イベント情報のデータベースを作成していますが、
どのように日付情報をデータベースとして持たせたらよいのか悩んでいます。
効率的な方法がありましたら教えていただけると幸いです。
長文になり、失礼いたします。

[目的]
イベント毎に開催日時や主催者などのデータベースを構築し、開催日時で検索を行いたい。

[悩みどころ]
開催日時が、”2008年9月24日”のように1日で終わるものであれば問題ないのですが、”2008年9月24~28日”のような連続した日付や、”2008年9月24日、2008年9月26日”のような連続...続きを読む

Aベストアンサー

一般的かどうかはわかりませんが、
複数のテーブルをJOINするのが好みかどうかとか、
データベースの効率を考えるとどうかと言うので決まってくるのでしょう。

私はあまりJOINしたくないと言う気持ちだけの話でANo.1のご回答にあるような感じでしてしまいます。
これに、連続しない開催の場合は、初日のイベントIDを他の開催日のデータに持たせて関連づけておけば、重なるデータ(イベント名など、他詳細情報もこちらに記録されるのだと思っています)は初日の方にだけ記録しておいても、なんとかなるのかなと思います。
と言うのが、私の今までの経験から思いつく事でした。

ANo.2で質問者様の方法で十分との事でしたので、よくよく考えてみると、なるほどその方が拡張性があるのかなと思ったりもしています。
データベース効率はどちらがいいのかわかりませんが、今お考えになられている方法から遠のくと難しくなるかも知れませんので、別の問題が起こらない間はそのまま進めてみられた方がいいのかと思います。

「DATE_TABLE」は、連続していようとしていまいと関係なく、開催している日分のデータがあると言う事と考えてよろしいでしょうか。
日時で検索するのでしたら、「DATE_TABLE」には、その日の開始時刻と終了時刻を記録しておくようになるのかも知れません。
最終日だけ早めに終わったりするようなイベントもあるのでしたら、「EVENT_TABLE」側で時刻を持つよりもいいのかなと思います。

一般的かどうかはわかりませんが、
複数のテーブルをJOINするのが好みかどうかとか、
データベースの効率を考えるとどうかと言うので決まってくるのでしょう。

私はあまりJOINしたくないと言う気持ちだけの話でANo.1のご回答にあるような感じでしてしまいます。
これに、連続しない開催の場合は、初日のイベントIDを他の開催日のデータに持たせて関連づけておけば、重なるデータ(イベント名など、他詳細情報もこちらに記録されるのだと思っています)は初日の方にだけ記録しておいても、なんとか...続きを読む

Q↓の追記(質問:バイナリーの画像データを読み込む。別記の追記)

以下既出の質問です

別記:上記サイベースのDBで10回程度連続でDBを読み込みに行くと
エラーになるのですが、DB上でそのような回数の指定があるのでしょうか?
それとも、ハード的な問題なんでしょうか?いままでそのような経験が
ありましたら対策等教えてください。お願いします!

********これより追記です********************

下のほうの質問で
エラーメッセージは
[sybase][ODBC Driver][Adaptec Anywhre][データベースサーバが接続を
拒否しました。データベースサーバに接続できる限界数を超えています]
というメッセージです。

VB DB ODBC ともにまったくの素人なものでどうかお願いします。

関連URL:http://oshiete1.goo.ne.jp/kotaeru.php3?q=265993

Aベストアンサー

サイベースは分からないのですが、メッセージからするとデータベースの閉じ忘れっぽいですね。
ちゃんとクローズしてますでしょうか?

QActionscript3.0 子のイベントを削除

Actionscript3.0で親のムービーから子のイベント指定して削除することは可能でしょうか?

親のステージに配置したmymcの中でballをENTER_FRAMEを使い動かしています。
親のステージに配置したbtnをクリックすることで、
ENTER_FRAMEを削除したいのですが、
下記のスクリプトだと、親のほうでmyenterframeが未定義と表示されてしまいます。

どのように記述すればよいのでしょうか?
よろしくお願いいたします。


ーーーーーーーーーーーーーーーーー親ーーーーーーーーーーーーーーーーー
btn.addEventListener (MouseEvent.CLICK, myclick);
function myclick(event:MouseEvent):void{
mymc.removeEventListener(Event.ENTER_FRAME, myenterframe);
}

ーーーーーーーーーーーーーーーーーmymcーーーーーーーーーーーーーーーーー
addEventListener(Event.ENTER_FRAME, myenterframe);
function myenterframe(evt:Event):void {
ball.x++;
}

Actionscript3.0で親のムービーから子のイベント指定して削除することは可能でしょうか?

親のステージに配置したmymcの中でballをENTER_FRAMEを使い動かしています。
親のステージに配置したbtnをクリックすることで、
ENTER_FRAMEを削除したいのですが、
下記のスクリプトだと、親のほうでmyenterframeが未定義と表示されてしまいます。

どのように記述すればよいのでしょうか?
よろしくお願いいたします。


ーーーーーーーーーーーーーーーーー親ーーーーーーーーーーーーーーーーー
btn.addEventListener ...続きを読む

Aベストアンサー

myenterframeはmymcの名前空間にいるので

mymc.removeEventListener(Event.ENTER_FRAME, mymc.myenterframe);

とやれば動くんじゃないですかね


ちなみに僕はこういうことするときはmymc側に
リスナーを全てremoveする為の
destroyメソッドとか用意するようにしてます

そういうふうにしておけばmymcにremoveしたいリスナーが増えたり
親のclick以外からもmymcのリスナーをremoveしたいとなったときも
書き換えが楽になるのでオススメ

Q[読み取り専用]の設定

EXCEL2000を利用しています。
フォルダにあるブックに[読み取り専用]の設定をかけたいと考えています。
いちいち次のような操作で[読み取り専用]の設定をするのが大変なので、VBAで実現したいと考えています。
--------次のような操作-----------------------------------------------------------------------------------
1.[エクスプローラ] ウィンドウで、必要なファイルが保存されているドライブまたはフォルダを開きます。
2.[ファイル] メニューの [プロパティ] をクリックします。
3.[ファイルの情報] タブで、[読み取り専用] チェック ボックスをオンにします。
-----------------------------------------------------------------------------------------------------------------
上記の操作による[読み取り専用]の設定をVBAで書くためには、どのように記述すればよいでしょうか?
「ActiveWorkbook.ChangeFileAccess Mode:=xlReadOnly 'ブックを読み取り専用に設定する」を記述すると、保存できませんし、「ReadOnlyRecommended:=True」だとセキュリティーが甘くなります。

アドバイスをどうぞよろしくお願いいたします。

EXCEL2000を利用しています。
フォルダにあるブックに[読み取り専用]の設定をかけたいと考えています。
いちいち次のような操作で[読み取り専用]の設定をするのが大変なので、VBAで実現したいと考えています。
--------次のような操作-----------------------------------------------------------------------------------
1.[エクスプローラ] ウィンドウで、必要なファイルが保存されているドライブまたはフォルダを開きます。
2.[ファイル] メニューの [プロパティ] をクリックします。
3.[ファイルの情...続きを読む

Aベストアンサー

こんにちは。maruru01です。

ファイルの属性変更は、SetAttrステートメントで出来ます。
読取専用にするなら、

SetAttr ファイルのフルパス, vbReadOnly

となります。
詳細はヘルプで。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報