BaseでエクセルのVLOOKUPのような機能をフォームで使いたい エラーが発生(続)

classic Classic list List threaded Threaded
2 messages Options
福永ケンセイ 福永ケンセイ
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

BaseでエクセルのVLOOKUPのような機能をフォームで使いたい エラーが発生(続)

志義ゼミ、Takesi Abe様 回答ありがとうございます。
*同じ個所でエラーが発生しています。*
*どなたか教えていただけないでしょうか*

*テーブルですが*
*t_test*のデータの型はすべてvarcharにしました。
*フィールド名 フィールドタイプ*
*ID **テキスト[VARCHSR] プライマリーキー*
*商品名 テキスト[VARCHSR]*
*単価 **テキスト[VARCHSR]*
*上記で設定しました。*

以下のことなどをやってみました。
フォームの名前、テキストボックスの名前はすべてマクロからコピーペースト
*ThisDataBaseDocument.DataSource.getconnection("","").createstatement.executequery(sSql)を*

*ThisDataBaseDocument.DataSource.getconnection("","").createstatement().executequery(sSql)に変更*
*テキストボックスに入力時文字列で入力*











*A)以下実行してみました。 sSql ="select ""商品名"" from ""t_test"" where ""ID"" =  '" &
oForm.getByName("textbox1").text & "';"         msgbox(sSql) <----ここに追加
    oResult =
ThisDataBaseDocument.DataSource.getconnection("","").createstatement.executequery(sSql)B)結果以下のような表示が出ましたselect
"商品名" from "t_test" where "ID" =  '1'; <-----前回select "商品名" from "t_test"
where "ID" =  '001';
<-----今回C)今回のSQL文をマイマクロ&ダイアログが開いた状態データーフォームのtextbox1に「001」が入った状態でフォームを選択し下記SQLを実行しました。結果
りんごが表示されましたエラーが発生したのは同じ場所でoResult =
ThisDataBaseDocument.DataSource.getconnection("","").createstatement.executequery(sSql)BASICランタイムエラー
変数の未定義が発生しましたよろしくお願いします。バージョンはバージョン: 5.2.6.2ですデーターベースエンジンは埋め込みHSQLです*

--
Unsubscribe instructions: E-mail to [hidden email]
Posting guidelines + more: http://wiki.documentfoundation.org/Netiquette
List archive: http://listarchives.libreoffice.org/ja/users/
All messages sent to this list will be publicly archived and cannot be deleted
志義ゼミ 志義ゼミ
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [ja-users] BaseでエクセルのVLOOKUPのような機能をフォームで使いたい エラーが発生(続)

福永様。

さて、どのような動作確認の結果を期待されていらっしゃるのでしょうか。

私の理解では、フォームのtextbox1に001と入力して、エンターキーを押すなりしてフォーカスがtextbox1から抜けたら自動でtextbox2にリンゴと表示されることを想定していました。

マクロ実行の検証は、マクロの編集用画面(マイマクロ&ダイヤログ)からマクロの実行ボタンを押してもフォームが実行されてる状態ではエラーが発生するようです。(BASICランタイムエラーなど)

マクロの編集用画面(マイマクロ&ダイヤログ)は開いていも、マクロの実行はフォームから行います。今回は、textbox1に001と入力してエンターキーなどを押してフォーカスが抜けた時がマクロの実行を意味します。

もし、この状態で、エラーが発生していたら、そのメッセージを参考にバグに対処してください。
そうではなくて、リンゴと表示されればOKとなります。というか、そのようになるマクロです。

以上


On 2017年04月11日 20:53, 福永ケンセイ wrote:

> 志義ゼミ、Takesi Abe様 回答ありがとうございます。
> *同じ個所でエラーが発生しています。*
> *どなたか教えていただけないでしょうか*
>
> *テーブルですが*
> *t_test*のデータの型はすべてvarcharにしました。
> *フィールド名 フィールドタイプ*
> *ID **テキスト[VARCHSR] プライマリーキー*
> *商品名 テキスト[VARCHSR]*
> *単価 **テキスト[VARCHSR]*
> *上記で設定しました。*
>
> 以下のことなどをやってみました。
> フォームの名前、テキストボックスの名前はすべてマクロからコピーペースト
> *ThisDataBaseDocument.DataSource.getconnection("","").createstatement.executequery(sSql)を*
>
> *ThisDataBaseDocument.DataSource.getconnection("","").createstatement().executequery(sSql)に変更*
> *テキストボックスに入力時文字列で入力*

>
>
>
>
>
>
> *A)以下実行してみました。 sSql ="select ""商品名"" from ""t_test"" where ""ID"" =  '" &
> oForm.getByName("textbox1").text & "';"         msgbox(sSql) <----ここに追加
>     oResult =
> ThisDataBaseDocument.DataSource.getconnection("","").createstatement.executequery(sSql)B)結果以下のような表示が出ましたselect
> "商品名" from "t_test" where "ID" =  '1'; <-----前回select "商品名" from "t_test"
> where "ID" =  '001';
> <-----今回C)今回のSQL文をマイマクロ&ダイアログが開いた状態データーフォームのtextbox1に「001」が入った状態でフォームを選択し下記SQLを実行しました。結果
> りんごが表示されましたエラーが発生したのは同じ場所でoResult =
> ThisDataBaseDocument.DataSource.getconnection("","").createstatement.executequery(sSql)BASICランタイムエラー
> 変数の未定義が発生しましたよろしくお願いします。バージョンはバージョン: 5.2.6.2ですデーターベースエンジンは埋め込みHSQLです*
>
--
/////////////////////////////
志義どっとPC
(志義ゼミナール)
堀 正和
〒838-0141
福岡県小郡市小郡630-62
TEL/FAX:0942-73-1710
直通(堀):090-8379-6113
/////////////////////////////


--
Unsubscribe instructions: E-mail to [hidden email]
Posting guidelines + more: http://wiki.documentfoundation.org/Netiquette
List archive: http://listarchives.libreoffice.org/ja/users/
All messages sent to this list will be publicly archived and cannot be deleted
Loading...