削除クエリ実行時(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>