- 締切済み
SQL文の関数らしいのですが、意味を正確に調べたいとき。
Visual Basic で組んだ業務ソフトのソースを見ているところなのですが…。データベースは SQL Serverを使っています。その中のコードとして SQL = "SELECT * FROM MPGSUB " _ & "WHERE 端末ID = " & Conv_DBValue(Client_ID, DB_String) というのがあります。これは、《"端末ID"列から、DB_Stringの型に変換した値をClient_ID という列名にして取得する》ということで良いのでしょうか。 Conv_DBValue やDB_String は、手元の辞典にも載っていないし、ネットで検索しても解説しているところがありません。このようなときは、プログラムで参照すべき他のモジュールが足りないと考えた方が良いのでしょうか。 ときどき調べがつかない関数があるので困ってしまうので、そのような時はどうすべきか教授願いたいです。(^^;
- みんなの回答 (3)
- 専門家の回答
みんなの回答
文字列をよく見てください。SQLの関数であれば、VBにおいては単なる文字列であり、ダブルクォートの中にあるはずです。これは、Conv_DBValue関数が「&」で繋がっていますよね。ということは、「VBで定義されたConv_DBValue」関数の結果を、SQL文の文字列に繋いでいるだけです。 関数はVBのソースのどこかにあるはずです。
- ssssssssss
- ベストアンサー率23% (24/103)
vbでConv_DBValueを右クリック→定義を選択してもそのファンクションにとびませんか?
- kagep
- ベストアンサー率23% (171/721)
>《"端末ID"列から、DB_Stringの型に変換した値をClient_ID という列名にして取得する》ということで良いのでしょうか。 いえ、違うと思います。 Conv_DBValue(Client_ID, DB_String) というのは、VBの関数(プロジージャ)では? Client_IDとDB_Stringという変数に格納されている値を引数にして、 Conv_DBValueの戻り値が、MPGSUBテーブルの端末IDフィールドの値と一致するものを検索しているのでしょう。 列名はテーブルの列名のままかと思います。 にしても、この変数名といい関数名といい、 ネーミングルールなんてあったものぢゃないですねぇ。 品質も「それなり」ではないかと・・・。 SQL文の*使用も、やめた方がいいと思います。 って、解析元のソースなので、既存システムには関係ない、ということなら安心ですけどね。