Excel で SQL クエリを実行しようとしています。
これを可能にする唯一のオプションは、Microsoft Query を使用して外部ソースからデータを挿入し、データ ソースとして Excel ファイルを選択し、現在のワークブックをポイントすることです。
ばかげていますが、実際には機能しますが、ファイルのパスをワークブックで定義されている接続に焼き付けます。つまり、ファイルを移動または再配布できません。
接続には次の定義があります。
接続文字列:
DSN=Excel Files;DBQ=C:\Temp\Alma.xlsx;DefaultDir=C:\Temp;DriverId=1046;MaxBufferSize=2048;PageTimeout=5;
クエリ:
select e.bizszam, e.bevsor, e.afa, u.afa
from this.EredetiAdat e
inner join this.UjAdat u on e.bizszam = u.bizszam and e.bevsor = u.bevsor and e.afa <> u.afa
where e.afa NOT IN (select u2.afa from `C:\Temp\Alma.xlsx`.UjAdat u2 where u2.bizszam = u.bizszam and u2.bevsor = u.bevsor)
OR u.afa NOT IN (select e2.afa from `C:\Temp\Alma.xlsx`.EredetiAdat e2 where e2.bizszam = e.bizszam and e2.bevsor = e.bevsor)
ご覧のとおり、上記の両方にパス (C:\Temp\Alma.xlsx) があります。私はそれを取り除きたいです。どこにいても、実行中のインスタンスでワークブック自体に接続ポイントを作成するにはどうすればよいですか??
ワークブックのテーブルに対して SQL クエリを実行する他の方法 (ネイティブの Excel、プラグインなし!) があれば、それにも満足しています。MS Power Query を使用してみましたが、私が知る限り、まったく役に立ちません。