データベースからデータを取得するには?


  2008-01-08 20:28:41  No: 138553

AccessのデータベースからSELECT * FROM 〜を使って条件にあったデータをい抽出したいのですが、条件に合ったときだけに処理を行いたいのですが、上手くできません。

使うSQL文は、
"SELECT file_name FROM PDF WHERE " & result & " LIKE " & txt &""
です。
LIKEで条件があったときにだけ処理を行いたいです。
resultは最初に1件読み込んでおいたもので、txtはテキストボックスに入力したものです。
どのように変更したらよいのでしょうか?
よろしくお願いいたします。


特攻隊長まるるう  2008-01-08 20:41:35  No: 138554

>resultは最初に1件読み込んでおいたもので、txtはテキストボックスに入力したものです。
具体的にどんなデータが入っているのですか?


  2008-01-08 20:59:02  No: 138555

resultはPDFのファイルのフルパスを読み込んできます。
txtは文字を適当に打ち込みます。

resultにtxtの文字列があれば処理をしたいのです。
その処理はPDFファイルをPictureBoxに表示させるのですが・・・


特攻隊長まるるう  2008-01-08 21:39:09  No: 138556

SQL文は、ただの文字列ですので
>resultはPDFのファイルのフルパスを読み込んできます。
そのまま解釈すると
"SELECT file_name FROM PDF WHERE D:\Test\Test.pdf LIKE HogeHoge"
ということですか?
SQL文として成り立っていません。
何を説明しているのか理解できません。

>AccessのデータベースからSELECT * FROM 〜を使って条件にあったデータをい抽出したいのですが
関係性もなくなりませんか?

どこが Access のデータベースにあたりますか?
Access にはどんなテーブルが用意されていて、テーブルはどんな構造で、
どんなデータが格納されていて、そこからどのデータが抽出できればいいのですか?
こちらで再現できるような説明をお願いします。


  2008-01-09 18:56:50  No: 138557

すみません。

C:\Test\Test.pdf LIKE HogeHogeの部分で、C:\Test\Test.pdfの部分はテーブルにデータがあるだけ繰り返して比較します。
HogeHogeの方は変わりません。

何とか、比較出来ているようなのですが、PictureBoxにPDFを表示させるとメモリが不足していますというエラーになってしまいます。
PictureBoxにPDFを表示させることは可能なのでしょうか?


通ってみた  2008-01-09 20:47:32  No: 138558

PictureBoxではなく、Webbrowserにしてみては?


  2008-01-10 19:28:09  No: 138559

Webbrowserを使ったことがないので、使い方がわかりません。
よろしければ、どのように使用するのか教えていただけますか?


通ってみた  2008-01-10 19:54:16  No: 138560

Webbrowserコントロールを貼り付けて、コードでPDFファイルをNavigateさせるだけです
詳細はご自身で調べてください


さるべーじ  URL  2008-01-10 21:18:10  No: 138561

えーと、ちょっと状況を整理させてください。

まず、Accessファイルの中に、「PDF」という名前のテーブルがあるんですよね。
で、PDFテーブルの中には「file_name」というフィールドがある、と。

file_nameフィールドの中には参照したいPDFファイルのフルパスが格納されていて、
テキストボックスに入力した文字列がファイル名に含まれるPDFファイルだけを抽出して、
そのPDFファイルをフォーム上に表示したい。

という理解でいいでしょうか。

上記の状況だとするなら、

「file_nameフィールドに格納されている文字列に、txtの文字列は含まれているか?」

という調べ方をしたいのではないかと思いますので、
「WHERE」句以降で指定する条件文は、resultとtxtではなく、
file_nameとtxtを比較することになるのではないでしょうか。

ということで、

    "SELECT file_name FROM PDF WHERE file_name LIKE " & txt &""

となるのではないかなあと。

で、txtが文字列なのであれば、SQL文の中では「’」でくくる必要がありますので、

    "SELECT file_name FROM PDF WHERE file_name LIKE ’" & txt &"’"

という感じでしょうか。

# この掲示板ってシングルクォート落とすんでしたっけ?
# 念のために上記SQL文では全角「’」で書いてみました。
# もちろんほんとは半角「'」です。

PictureBoxへのPDF表示は無理です。
通ってみたさんの言われるような代案が必要になります。

が、一度にいくつもの質問をされてしまうと、
質問する方も答える方もこんがらかってしまいやすいです。

まずはSQL文の解決に絞り、それがOKになった時点で次の質問に進むように
したほうが、お互い発言しやすくなると思いますよ。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加