削除クエリ実行時(2つのテーブルをリンク)に下記のエラーが出るときがある。
「指定されたテーブルから削除できませんでした。」
対象のクエリ編集画面にてF4を押す。
[固有のレコード] を [はい]に変更。
これで解決できる。
削除クエリ実行時(2つのテーブルをリンク)に下記のエラーが出るときがある。
「指定されたテーブルから削除できませんでした。」
対象のクエリ編集画面にてF4を押す。
[固有のレコード] を [はい]に変更。
これで解決できる。
概要:
複数ファイルに格納されているコード群をSQLServerからデータ取得後、ファイル毎に出力
流れ:
引数で渡されたコードファイルを順次開く
コードを取り出してSQL生成
SQL実行後、結果をTAB区切りで出力
Set oParam = WScript.Arguments Set ObjConn = CreateObject("ADODB.Connection") ObjConn.Open ("Provider=SQLOLEDB;Data Source=ZZZZZ;Initial Catalog=AAAAA;Integrated Security=SSPI;") Set objFso = CreateObject("Scripting.FileSystemObject") Set objRc = CreateObject("ADODB.Recordset") wkIN = "\\bbbbb\" wkOUT = "\\ccccc\" SQL = "Select * FROM xxxxxx where [ROW_ID] = '" For idx = 0 To oParam.Count - 1 FNAME = oParam(idx) Set objOUTF = objFso.CreateTextFile(wkOUT & "OUT_" & FNAME, True, True ) Set objINF = objFso.OpenTextFile(wkIN & FNAME, 1, False) If Err.Number <= 0 Then 'header objOUTF.WriteLine("HEADER tab tab") cntRec = 0 Do Until objINF.AtEndOfStream wkREC = trim(objINF.ReadLine) objRc.Open SQL & wkREC & "';", ObjConn If not objRc.EOF then Buffer = "" For i = 0 to objRc.Fields.Count - 1 wkFLD = objRc.Fields(i).Value If not IsNull(wkFLD) then wkFLD = Replace(wkFLD, vbtab, " ") Buffer = Buffer & wkFLD & vbtab Next objOUTF.WriteLine(Buffer) cntRec = cntRec + 1 END If objRc.Close Loop End If objINF.Close objOUTF.Close Next Set ObjConn = Nothing Set objFso = Nothing Set objRc = Nothing
HTA形式でMDB検索アプリを作ってみた。
※実質VBScript
参照先はMS-Access(MDB)でクライアント上で実行。
※サーバー不要
<HTML> <HEAD> <SCRIPT LANGUAGE="VBScript"> <!--
Option Explicit Function fncExec() Dim dbRes, tag Dim dbPath, dbe, db, s, CODEs, SQL if frm.CODE.Value="" then WScript.Quit() CODEs = replace(trim(frm.CODE.Value), ";", ",") dbPath = ".\xxxxxx.accdb" Set dbe = CreateObject("DAO.DBEngine.120") Set db = dbe.Workspaces(0).OpenDatabase(dbPath, False) SQL = "select * from zzzzzzzzzzz where CODE in(" & CODEs & ")" Set dbRes = db.OpenRecordset(SQL) If Not dbRes.EOF then s = "<table border=1><tr><th>AAA</th><th>BBB</th></tr>" Do Until dbRes.EOF s = s & "<tr><td>" & dbRes("AAA").Value & "</td><td>" & dbRes("BBB").Value & "</td><tr>" dbRes.movenext loop s = s & "</table>" & SQL Else s = s & "Not Found" End If objList.innerHTML = s db.Close Set db = Nothing Set dbe = Nothing End Function
--> </SCRIPT> </HEAD> <BODY> <FORM ID="frm"> CODE <INPUT ID="CODE" TYPE="TEXT" SIZE=30> <INPUT ID="EXEC" TYPE="BUTTON" VALUE="Go!" onClick="fncExec()"> </FORM> <DIV ID="objList"></DIV> <INPUT TYPE="BUTTON" VALUE="Close" onClick="window.close()"> </BODY> </HTML>