Linux -Blue forest free software | Return to home page | Site Map | Search WWW | Contact Us |
Your current position : Homepage > Free Software > Technological exchanges >Application Programming


    

Blue Forest http://www.lslnet.com at 8:28 on August 25, 2006

\\Access SQL script prepared for! (Updated sixth edition)

Updated sixth edition :
That minimize mistakes window bugs to deal with the fault-tolerant box view into the path name
[download=http://www.paintblue.net/download/data/DB_CreateSqlEV1.06.rar]
Http://www.paintblue.net/download/data/DB_CreateSqlEV1.06.rar
[/download]

Updated fifth edition (Access directly into SQL server) :
That some bugs, with a number of popular database Access Forum and the entire test station (the largest test database 80M)
Exe version of the SQL database directly into downloading the document contains two versions of Asp and Exe
[download=http://www.paintblue.net/download/data/DB_CreateSqlEV1.05.rar]
Http://www.paintblue.net/download/data/DB_CreateSqlEV1.05.rar
[/download]
[img]http://www.paintblue.net/download/data/cooselpic/demo_5.png[/img]

Updated third edition :
SQL can be generated entirely the creation of new tanks and landing, and the introduction of data and asp script sgl
[download=http://www.paintblue.net/download/data/DB_CreateSqlE (B2004-11-18). Rar]
Http://www.paintblue.net/download/data/DB_CreateSqlE (B2004-11-18). Rar
[/download]
------------------------------------------------------
Add a second version of VB Exe rewritten version of the compiler (which may be a small device), operating out of the asp code inconvenient!
Download :
[download=http://www.paintblue.net/download/data/MDB_CreateSQLE.rar]
Http://www.paintblue.net/download/data/MDB_CreateSQLE.rar
[/download]

------------------------------------------------------
Asp version
Download :
[B] Editorial [/b] (generated operating under the Access SQL and Asp) :
Http://www.paintblue.net/download/data/DB_CreateSql.rar

[B] Second Edition [/b] (Generation Access to SQL server data into the SQL script promotions
Results generated in the SQL server Lane inquiries analyzer operation, the use of dataopensource () function) :
[B] http://www.paintblue.net/download/data/DB_CreateSqlE.rar [/b]

Sgl details and access to the script syntax is not the same, so this is the result of the two versions are completely different
The second version may be more practical
[img]http://www.paintblue.net/download/data/cooselpic/db_create.png[/img]
"" Starting point ""
Database upgrade process because it involves building forms, building indexes, constraints and acquiesce in the table! Halo ah! !!!!!
Write a new generation of the SQL database language is very troublesome.
The need is the best in Access Lanes good table design, and then the database objects such as prepared Sql2000
SQL script, the starting point for this Department, the procedures for the preparation of this small, devoted to the preparation of SQL Access database object scripting
Play a multiplier effect. Facilitate convenient

"" Functional brief, ""
Function : the Access database can be used to prepare the main targets, including
[B] table, view, index, constraint, [b] [/b] including default values, the main keys, automatic number of foreign bond (Table relations) [/b]
End automatically preserve the original database were prepared for the corresponding expansion of the paper +
Asp model can be generated directly with the enforceability of the Asp Form imported documents can be generated using documents generated by the new database Asp
SQL mode can be directly generated pure SQL language texts

[B] Realization : [/b]
Ado query + object model with a two-pronged approach Adox
List mode inquiries through the preparation of the document (which may require additional code), structural elements of the analysis
In other words, to obtain the necessary attributes Adox details, such as automatic number seed value, growth
Sorting out the attributes of Index Sets
Access SQL basically achieved the prepared script
May be more useful document is compiled executable Asp,
Access SQL language for the design and operation of the inquiry is mentally handicapped, chaotic correction

[B] Editorial : [/b] code proposed by the sea conditions
1. Laws about what types Remarks spent Access standard word text char / varchar I have been accustomed LongText
2. According to the field in order to prepare the table, the agreement guarantees on reconstruction Script
Test : comparison with the original database prepared by sgl sgl script prepared by the redevelopment of the database again relatively sgl
[html]
"LANGUAGE=% @" VBSCRIPT "CODEPAGE=" 936 "dilatation
"Explicit %Option
Response.buffer=true
Response.Expires = -1
Response.AddHeader "Pragma", "no-cache"
Response.AddHeader "cache-ctrol", "no-cache"
%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "
"HTML>
"HEAD>
"Access SQL script prepared for TITLE>MiniAcces Editor1.0part2 (Aug. 2004 PaintBlue.Net Acp) Code" /TITLE>
"Meta NAME=" Generator "CONTENT=" EditPlus ""
"Meta NAME=" Author "CONTENT=" launcher ""
"Meta NAME=" Keywords "CONTENT=" PaintBlue.Net, PaintBlue ""
"Meta NAME=" Description "CONTENT=" PaintBlue.Net ""
"Style>
#000000; Table{ color :
Font-size : 9pt;
FONT-FAMILY : "Tahoma", "MS Shell Dlg";
                }
Td (color : #000000;
Font-size : 9pt;
#000000; }table{ Color :
Font-size : 9pt;
FONT-FAMILY : "Tahoma", "MS Shell Dlg";
                }
Body (color : #000000;
Font-size : 9pt;
                }
"/style>
"/HEAD>
"Body bgCOLOR=eeeeee text=" #000000 "leftmargin=" 0 "marginwidth=" 100% "topmargin=" 0 "bottommargin=" 20 ""
<%
Dim enMode
Dim DB_Name, ExtName, FileName
Dim rs =, CONN. CONNstr
DB_Name= "/coosel2.0/data/mydb.mdb"
DB_Name=questStr ( "DB_Name")
FileName=questStr ( "DB_Name")
EnMode=questStr ( "enMode")
If not isnumeric (enMode) then enMode=0
       
If DB_Name<> "" then
EnMode=clng (enMode)
Then if enMode=0
ExtName=. " SQL "
Else
ExtName=. " Asp "
End if
Call openDB (DB_Name)
Call CreateSQL (DB_Name, enMode)
Else
If DB_Name= "" then DB_Name= "data/mydb.mdb"
Call Main ()
End if

Sub MAIN ()
%>
"Style>
. Titlebar --
FONT-WEIGHT 12pt; FILTER : : : bold; FONT-SIZE dropshadow (color=#333333, offx=1, offy=2); WIDTH : 100% COLOR : #ffffff; FONT-FAMILY : Tahoma, Verdana, Arial, relative; TOP : 1px sans-serif; POSITION :
        }
"/style>
"FORM METHOD=POST ACTION=" ?action=1 "Name=DBform>
"TABLE width=" 100% "cellspacing=0 border=0>
"TR bgcolor=#D4D0C8>
"TD align=center height=32><a href=http://www.paintblue.net/ target=_blank><img src=http : //www.paintblue.net/bbs/images/TitleLogo.gif border=0></a></td><td><span class=titlebar><font color=#ffffff><b>MiniAccess Editor V1.0 P2 (Access prepared script) "/b></font></span></TD>
"Td></td></TR>
"TABLE align=center width=" 100% "cellspacing=1 cellpadding=3 border=0>
"/TABLE>
"TABLE align=center width=" 100% "cellspacing=1 cellpadding=3 border=0>
"TR bgcolor=#a4c0d8><TD align=right height=10></TD><TD></TD></TR>
"TR bgcolor=#D4D0C8>
"TD align=right><span id=a> preparation mode" /span></TD>
"TD>
"INPUT TYPE=" radio "NAME=" enMode "value=" 0 "" %if enMode=0 then response.write "checked" end if%> "version of SQL
"INPUT TYPE=" radio "NAME=" enMode "value=" 1 "" %if enMode=1 then response.write "checked" end if%> "Asp -
"/TD>
"/TR>
"TR bgcolor=#D4D0C8>
"TD align=right width=250> database path" /TD>
"TD><INPUT TYPE=" government "NAME=" DB_Name "value=" "%=DB_Name%>" Historic Significance of the Transitional Budget "width:70%;" /TD> ""
"/TR>
"TR bgcolor=#a4c0d8><TD align=right height=10></TD><TD></TD></TR>
"TR"
"TD height=38></TD>
"TD bgcolor=#D4D0C8>" INPUT TYPE= "submit" value= "determined" Historic Significance of the Transitional Budget "width:80;" "</TD>
"/TR>
"TR"
"TD height=38></TD>
"TD bgcolor=#D4D0C8>
"Li><< briefings," "
"Li> functions : Access database can be used to prepare the main targets, including" School Official Cites Use "> b Table, View, Index, restriction, including default values, the main keys, automatic number of foreign bond" /b> (Table Relations)
"End li> automatically preserve the original database were prepared corresponding expansion of the paper +
"Li>Asp model can be generated directly with the enforceability of the Asp Form imported documents can be generated using documents generated by the new database Asp
"Li>Sql model can be directly generated pure SQL language version of the" /li><br><br></TD>
"/TR>
"/Table>
"/FORM>
<%
End SUB
'====MiniAcces Editor1.0part2 Access SQL script prepared for (Aug. PaintBlue.Net Acp Code 2004) =========

SUB openDB (DB_Name)
If inStr (DB_Name ": /") = 0 and inStr (DB_Name ": \") = 0 then
DB_Name=server.mappath (DB_Name)
End if
Set CONN = Server.CreateObject ( "ADODB.CONNection")
On error resume next
CONN.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &DB_Name
Then if err.number<>0
Rw "open database failure, wrong :" &err.description,0
Err.clear
Else
Set rs=Server.CreateObject ( "adodb.recordSet")
End if
End SUB

SUB CreateSQL (DB_Name, exec)
'Creation mode
': Exec = 0 generated SQL
'Generation Asp procedures : exec = 1
Dim tbls, tabsArr, ub, I, TtempStr, TtempStrHead
Dim TableStr
Then if exec=1
TtempStrHead= "" "&"% @ LANGUAGE= "and" VBSCRIPT ""% "&" "" &vbcrlf
TtempStrHead=TtempStrHead& "" "&" %Option Explicit "&vbcrlf
TtempStrHead=TtempStrHead& "response.buffer=true" &vbcrlf&vbcrlf
TtempStrHead=TtempStrHead& " '=========================================================================" &vbcrlf& "' Access database SQL scripts generated by MiniAccess Edit V1.0 P2 (Aug. PaintBlue.Net 2004 Asp) Code" &vbcrlf& " '================================================= ======================== "&vbcrlf&vbcrlf
End if
If instr (DB_Name ": \") = 0 and instr (DB_Name ": /") = 0 then
DB_Name=Server.MapPath (DB_Name)
End if
CONNstr= "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & DB_Name
Set CONN = Server.CreateObject ( "ADODB.Connection")
CONN.Open CONNstr
'Preparation targeted CONN
Then if exec=1
TtempStr= "SUB CreateDB (DB_Name)" &vbcrlf
TtempStr=TtempStr& "clipping CONN" &vbcrlf
TtempStr=TtempStr& "Set CONN=Server.CreateObject (" "ADODB.Connection" ")" &vbcrlf
TtempStr=TtempStr& "CONN.open" "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" "&DB_Name" &vbcrlf&vbcrlf
End if

'Preparation table / index target
Set tbls=CONN.openSchema (20) 'adSchemaPrimaryKeys
Tbls.Filter = "TABLE_TYPE= 'TABLE'" 'have selected default values, but to allow the null out
Not while tbls.eof
TableStr=TableStr& "|" &tbls ( "TABLE_Name")
Tbls.movenext
Wend
Tbls.filter=0
Tbls.close
Set tbls=nothing
TableStr=mid (TableStr,2)
If TableStr<> "" then
TabsArr=split (TableStr "|")
Ub=ubound (tabsArr)
For I=0 to ub
If exec=1 then TtempStr=TtempStr& " '[" &tabsArr (I) & ":" & vbcrlf
TtempStr=TtempStr&CreatTableSql (tabsArr (I), exec) &vbcrlf&vbcrlf
Next
End if
'Table prepared relations
If TableStr<> "" then TtempStr=TtempStr&CreatForeignSql (exec)
'Preparation View

TtempStr=TtempStr&CreatViewSql (exec)

Then if exec=1
TtempStr=replace (TtempStr "" "" "" &chr (62) & "" ")
TtempStr=replace (TtempStr "" "" "" &chr (60) & "" ")
TtempStr=TtempStr& "End SUB" & vbcrlf&vbcrlf
TtempStr=TtempStr& "call CreateMDB ()" &vbcrlf
TtempStr=TtempStr& "SUB Main ()" &vbcrlf
TtempStr=TtempStr& "Response.write (" "" center><FORM METHOD=POST><input name=DB_Name Value= "" "" "&Server.Htmlencode (DB_Name) &" "" "" Historic Significance of the Transitional Budget "" "" width : 70 "" "" "<br><INPUT TYPE=submit name=CreateDB Value= create a database" </FORM></center> "") "&vbcrlf
TtempStr=TtempStr& "End SUB" & vbCrlf& vbCrlf
TtempStr=TtempStr& "CreateMDB SUB ()" & vbCrlf
TtempStr=TtempStr& "dim cat, NewDB_Name" & vbCrlf
TtempStr=TtempStr& "NewDB_Name=request (" "DB_Name" ")" & vbCrlf
TtempStr=TtempStr& "if NewDB_Name<>" "" "then" & vbCrlf
TtempStr=TtempStr& "if instr (NewDB_Name," ": \" ") = 0 and instr (NewDB_Name," ": /" ") = 0 then" & vbCrlf
TtempStr=TtempStr& "NewDB_Name=Server.MapPath (NewDB_Name)" & vbCrlf
TtempStr=TtempStr& "end if" & vbCrlf
TtempStr=TtempStr& "set cat=Server.CreateObject (" "ADOX.Catalog" ")" & vbCrlf
TtempStr=TtempStr& "cat.Create" "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" "&NewDB_Name" & vbCrlf
TtempStr=TtempStr& "set cat=nothing" & vbCrlf
TtempStr=TtempStr& "CreateDB (NewDB_Name)" & vbCrlf
TtempStr=TtempStr& "response.write vbcrlf&" "OK" "" & vbCrlf
TtempStr=TtempStr& "else" & vbCrlf
TtempStr=TtempStr& "set cat=nothing" & vbCrlf
TtempStr=TtempStr& "call main ()" & vbCrlf
TtempStr=TtempStr& "end if" & vbCrlf
TtempStr=TtempStr& "End SUB"
TtempStr=TtempStrHead&TtempStr&vbcrlf& "%" & "" "
End if
Call Ados_Write (TtempStr, DB_Name&ExtName "gb2312")
Rw "" br><img width=100 height=0> "&DB_Name&" SQL script completed, "1
Rw "" <img width=100 height=0> preserve documents "b><font color=blue>" &DB_Name&ExtName& "" /font></b>[<a href=?> return to the "/a>] :" 1
Rw "" center><textarea Historic Significance of the Transitional Budget "" width:70%;height:500px; "" wrap= "and" off "" "" &server.Htmlencode (TtempStr) & "" /textarea></center> "1
End SUB

Function CreatViewSql (exec)
Dim cols
Dim FKtable, PK_cols, FK_cols, tmpStr, tmpStr1, VIEW_DEFINITION
Set cols=CONN.openSchema (23)
Cols.filter=0
While not cols.eof
TmpStr1= ""

VIEW_DEFINITION=replace (cols ( "VIEW_DEFINITION"), Christians (13), "")
VIEW_DEFINITION=replace (VIEW_DEFINITION, Christians (10), "")
TmpStr1= "Create view [" &cols ( "TABLE_NAME") & "] As" &VIEW_DEFINITION& ""
If exec=1 then tmpStr1= "CONN.execute (" "" &tmpStr1& "," ")"
TmpStr=tmpStr&vbcrlf&tmpStr1
Cols.movenext
Wend
Cols.close
Set cols=nothing
CreatViewSql=tmpStr
End Function

Function CreatTableSql (byval tableName, exec)
Dim cols
Dim TmpStr
Set cols=CONN.openSchema (4)
Dim splitchar, splitchar1
Then if exec=1
Splitchar= "" ""
Splitchar1= "" "&_"
Else
Splitchar= ""
Splitchar1= ""
End if
Cols.filter= "Table_name= '" &tableName& "'"
Then if cols.eof
Exit function
End if
Dim cat, autoclumn, n, chkPrimaryKey
N = 0

'Table prepared script
Autoclumn=GetAutoincrementCoulmnT (tableName)
Then if exec=1
TmpStr= "CONN.execute (" "CREATE TABLE [" &tableName& "] (" "&_" & vbcrlf
Else
TmpStr= "CREATE TABLE [" &tableName& "] (" & vbcrlf
End if
Dim autoclumnStr, columnStr
If autoclumn<> "" then
AutoclumnStr= "" &splitchar& "[" autoclumn & & "] integer IDENTITY (1," &GetIncrement (tableName, autoclumn) & ") not null"
End if
       
N = 0
Do
N=n+1
Cols.filter= "Table_name= '" &tableName& "' and ORDINAL_POSITION=" &n
Then exit do if cols.eof
If n> 1 then TmpStr=TmpStr& "," & & vbcrlf splitchar1
If autoclumn=cols ( "Column_name") then
TmpStr=TmpStr & autoclumnStr
Else
TmpStr=TmpStr & "" &splitchar& "[" & cols ( "Column_name") & "]" & lcase (datatypeStr (cols ( "DATA_TYPE") cols ( "CHARACTER_MAXIMUM_LENGTH"))) & defaultStr (cols ( "DATA_TYPE"), cols ( "COLUMN_DEFAULT") exec) & nullStr (cols ( "IS_NULLABLE"))
End if
Cols.movenext
Loop
TmpStr=TmpStr splitchar1 & vbcrlf & & "" &splitchar& ")"
Cols.close
Then if exec=1
TmpStr=TmpStr& "," ")"
End if


'' Table prepared script
'Autoclumn=GetAutoincrementCoulmnT (tableName)
'Then if exec=1
'TmpStr= "CONN.execute (" "CREATE TABLE [" &tableName& "] (" "&_" & vbcrlf
'Else
'TmpStr= "CREATE TABLE [" &tableName& "] (" & vbcrlf
'End if
'If autoclumn<> "" then
'TmpStr=TmpStr & "" &splitchar& "[" autoclumn & & "] integer IDENTITY (1," &GetIncrement (tableName, autoclumn) & ") not null"
'N=n+1
'End if
'       
'Cols.filter= "Table_name='" &tableName& " 'and column_name<>'" &autoclumn& " '"
'While not cols.eof
'If n> 0 then TmpStr=TmpStr& "," & & vbcrlf splitchar1
'TmpStr=TmpStr & "" &splitchar& "[" & cols ( "Column_name") & "]" & lcase (datatypeStr (cols ( "DATA_TYPE") cols ( "CHARACTER_MAXIMUM_LENGTH"))) & defaultStr (cols ( "DATA_TYPE"), cols ( "COLUMN_DEFAULT") exec) & nullStr (cols ( "IS_NULLABLE"))
'Cols.movenext
'N=n+1
'Wend
'TmpStr=TmpStr splitchar1 & vbcrlf & & "" &splitchar& ")"
'Cols.close
'Then if exec=1
'TmpStr=TmpStr& "," ")"
'End if

'Script indexes
Dim InxArr, i, kstr, j, tmpStr1
InxArr=getInxArr (tableName)
Set cols=CONN.openSchema (12)
       
For ≥ to ubound (InxArr)
Cols.filter= "Table_name= '" &tableName& "' and index_name= '" &InxArr (i) & "'"
Kstr= ""
TmpStr1= ""
Not if isForeignIndex (tableName, InxArr (i)) then 'foreign bond index not prepared
While not cols.eof
Kstr=kstr& "[" &cols ( "column_name") & "]" &GetInxDesc (TableName, InxArr (i), cols ( "column_name"))
Cols.movenext
Wend
TmpStr1=tmpStr1& "CREATE"
If isUnique (TableName, InxArr (i)) then tmpStr1=tmpStr1& "Unique"
TmpStr1=tmpStr1& "counterparts [" &InxArr (i) & "] on [" &tableName& "] (" &mid (kstr,2) & ")"
If isPrimaryKey (TableName, InxArr (i)) then tmpStr1=tmpStr1& "with Primary"
If exec=1 then tmpStr1= "CONN.execute (" "" &tmpStr1& "," ")"
TmpStr=tmpStr&vbcrlf&tmpStr1
End if
Next
Cols.close
Cols.filter=0
CreatTableSql=TmpStr
End function

Function CreatForeignSql (exec)
Dim cols
Dim FKtable, PK_cols, FK_cols, tmpStr, tmpStr1
Set cols=CONN.openSchema (27)
Cols.filter= "PK_NAME<>Null"
While not cols.eof
TmpStr1= ""
TmpStr1= "ALTER TABLE [" &cols ( "FK_TABLE_NAME") & "]" &_
"Add CONSTRAINT [" &cols ( "FK_NAME") & "]" &_
"FOREIGN KEY ([" &cols ( "FK_COLUMN_NAME") & "]) REFERENCES" &_
"[" &cols ( "PK_TABLE_NAME") & "] ([" &cols ( "PK_COLUMN_NAME") & "])"
If cols ( "UPDATE_RULE") = "CASCADE" then tmpStr1=tmpStr1& "ON UPDATE CASCADE"
If cols ( "DELETE_RULE") = "CASCADE" then tmpStr1=tmpStr1& "ON Base DELETE CASCADE"
If exec=1 then tmpStr1= "CONN.execute (" "" &tmpStr1& "," ")"
TmpStr=tmpStr&vbcrlf&tmpStr1
               
Cols.movenext
Wend
Cols.filter=0
Cols.close
Set cols=nothing
CreatForeignSql=tmpStr
End Function

'Determine whether foreign bond index
Function isForeignIndex (TableName, indexName)
Dim cols
Set cols=CONN.openSchema (27)
Cols.filter= "FK_TABLE_Name= '" &TableName& "' and FK_NAME= '" &indexName& "'"
Not cols.eof then if
IsForeignIndex=true
Else
IsForeignIndex=false
End if
End Function
'The indexing made Attribute Ranking
Function GetInxDesc (TableName, indexName, ColumnName)
Dim cat
Set cat=Server.CreateObject ( "ADOX.Catalog")
Cat.ActiveCONNection =CONNstr
If cat.Tables ( "" &TableName& ""). Indexes ( "" &indexName& ""). Columns ( "" &ColumnName& ""). SortOrder=2 then
GetInxDesc= "Desc"
Else
GetInxDesc= ""
End if
Set cat=nothing
End function
'Made out Array
Function getColumArr (tableName)
Dim cols, arrete (), n
Redim arrete (-1)
N = 0
Redim arrete (n)
Set cols=CONN.openSchema (4)
Cols.filter= "Table_Name= '" &tableName& "'"
While not cols.eof
Redim Preserve arrete (n)
Arrete (n) =cols ( "column_name")
Cols.movenext
N=n+1
Wend
Cols.filter=0
Cols.close
Set cols=nothing
GetColumArr=arr
End function
'Array made Index
Function getInxArr (tableName)
Dim cols, arrete (), n, tmpCol
Redim arrete (-1)
N = 0
Set cols=CONN.openSchema (12)
Cols.filter= "Table_Name= '" &tableName& "'"
While not cols.eof
If cols ( "index_name"), "then >tmpCol
Redim Preserve arrete (n)
Arrete (n) =cols ( "index_name")
N=n+1
End if
TmpCol=cols ( "index_name")
Cols.movenext
Wend
Cols.filter=0
Cols.close
Set cols=nothing
GetInxArr=arr
End function

Function isUnique (TableName, IndexName)
Dim cols
Set cols=CONN.openSchema (12)
Cols.filter= "Table_Name= '" &TableName& "' and Index_Name= '" &IndexName& "' and UNIQUE=True"
If not then cols.eof
IsUnique=true
Else
IsUnique=false
End if
Cols.filter=0
Cols.close
Set cols=nothing
End function


Function isPrimaryKey (TableName, IndexName)
Dim cols
Set cols=CONN.openSchema (12)
Cols.filter= "Table_Name= '" &TableName& "' and Index_Name= '" &IndexName& "' and PRIMARY_KEY=True"
If not then cols.eof
IsPrimaryKey=true
Else
IsPrimaryKey=false
End if
Cols.filter=0
Cols.close
Set cols=nothing
End function

Function getPrimaryKey (tableName, columnName)
Dim cols
Set cols=CONN.openSchema (12)
Cols.filter= "Table_Name= '" &tableName& "' and Column_Name= '" &columnName& "' and PRIMARY_KEY=True"
If not then cols.eof
GetPrimaryKey=cols ( "INDEX_NAME")
'IsPrimaryKey=true
Else
GetPrimaryKey= ""
'IsPrimaryKey=false
End if
Cols.filter=0
Cols.close
Set cols=nothing
End function

Function GetIncrement (tableName, columnName)
Dim cat
Set cat=Server.CreateObject ( "ADOX.Catalog")
Cat.ActiveCONNection =CONNstr
GetIncrement=cat.Tables ( "" &TableName& ""). Columns ( "" &columnName& ""). Properties ( "Increment")
Set cat=nothing
End function

Function GetSeed (tableName, columnName)
Dim cat
Set cat=Server.CreateObject ( "ADOX.Catalog")
Cat.ActiveCONNection =CONNstr
GetSeed=cat.Tables ( "" &TableName& ""). Columns ( "" &columnName& ""). Properties ( "Seed")
Set cat=nothing
End function

'Overall No. internal attributes automatically made to Access SQL server can
Function GetAutoincrementCoulmnT (TableName)
Dim i
Rs.open "select * from [" &TableName& "] where =" CONN,0,1
For ≥ to rs.fields.count-1
//if Rs = (i). Properties ( "isAutoIncrement") then =True
If rs = (i). Properties ( "isAutoIncrement") then =True
GetAutoincrementCoulmnT=rs (i). Name
Rs.close
Exit function
End if
Next
Rs.close
End function

Function datatypeStr (DATA_TYPE, CHARACTER_MAXIMUM_LENGTH)
Select case DATA_TYPE
130 case
Then if CHARACTER_MAXIMUM_LENGTH=0
DatatypeStr= "Text" 'LongText
Else datatypeStr= "char (" &CHARACTER_MAXIMUM_LENGTH& ")" 'varchar ()
End if
Case 17 datatypeStr= "tinyint"
Case 2 datatypeStr= "Smallint"
Case 3 datatypeStr= "integer"
Case 4 datatypeStr= "real" 'or / consent words float4
Case 5 datatypeStr= "Float" 'or / consent words float8
Case 6 datatypeStr= "money," 'or / consent words CURRENCY
Case 7 datatypeStr= "datetime"
Case 11 datatypeStr= "bit"
Case 72 datatypeStr= "UNIQUEIDENTIFIER" 'or / consent words GUID
131 datatypeStr= case "DECIMAL" 'or / DEC agree to terms
128 datatypeStr= case "BINARY" 'or / DEC agree to terms
End select 'AUTOINCREMENT
End function

Function defaultStr (DATA_TYPE, COLUMN_DEFAULT, exec)
If isNull (COLUMN_DEFAULT) then
DefaultStr= ""
Exit function
End if
Dim splitchar
Then if exec=1
Splitchar= "" "" ""
Else
Splitchar= "" ""
End if
Select case DATA_TYPE
130 case
If left (COLUMN_DEFAULT,1) = "" "" and right (COLUMN_DEFAULT,1) = "" "" then
COLUMN_DEFAULT=mid (COLUMN_DEFAULT,2, entrants (COLUMN_DEFAULT) -2)
End if
COLUMN_DEFAULT=replace (COLUMN_DEFAULT, "" "" splitchar)
DefaultStr= "Default" &splitchar & COLUMN_DEFAULT & splitchar
128 case
DefaultStr= "Default x" &COLUMN_DEFAULT& "" 'or / DEC agree to terms
Case else
DefaultStr= "Default" &COLUMN_DEFAULT& ""
End select
End function

Function nullStr (IS_NULLABLE)
Then if IS_NULLABLE
NullStr= ""
Else
NullStr= "not null"
End if
End function

'Interruption breakpoint debugging num=0
Sub rw (str, also published)
Dim istr:istr=str
Dim inum:inum=num
Response.write str& "" School Official Cites Use "
If inum=0 then response.end
End sub

SUB CreateMDB ()
'And the name change table names
Dim cat, NewDB_Name
NewDB_Name=request ( "DB_Name")
If NewDB_Name<> "" then
If instr (NewDB_Name ": \") = 0 and instr (NewDB_Name ": /") = 0 then
NewDB_Name=Server.MapPath (NewDB_Name)
End if
Set cat=Server.CreateObject ( "ADOX.Catalog")
Cat.Create "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &NewDB_Name
Set cat=nothing
CreateDB (NewDB_Name)
Response.write vbcrlf& "Okay"
Else
Set cat=nothing
Call main ()
End if
End SUB
'============================= Prepared script ============// access sgl
Function questStr (Str)
Str=request (Str)
Str=replace (Str, " '", "")
Str=Replace (Str, Chr (0), "")
Str=Replace (Str, "", "")
QuestStr=Str
End Function

Function Ados_Read (FileName, CharsetType)
Dim adosText
Ados_Read= ""
If instr (FileName ": \") = 0 and instr (FileName ": /") = 0 then
FileName=Server.mappath (FileName)
End if
Set adosText=Server.CreateObject ( "ADODB.Stream")
AdosText.mode=3
AdosText.type=2 'textStream
AdosText.charset= "" &CharsetType& ""
AdosText.open
AdosText.loadFromFile FileName
Ados_Read=adosText.ReadText ()
AdosText.close
Set adosText=nothing
End Function

SUB Ados_Write (TextString, FileName, CharsetType)
Dim adosText
If instr (FileName ": \") = 0 and instr (FileName ": /") = 0 then
FileName=Server.mappath (FileName)
End if
Set adosText=Server.CreateObject ( "ADODB.Stream")
AdosText.mode=3
AdosText.type=2 'textStream
AdosText.charset= "" &CharsetType& ""
AdosText.open
AdosText.setEos
AdosText.WriteText (TextString)
AdosText.SaveToFile FileName,2
AdosText.close
Set adosText=nothing
End SUB
%>
"Hr size=1>
"Center>Create by" a style='mso-footnote-id:ftn1' "http://www.paintblue.net/", "Aug. PaintBlue.Net pole Vision" </a> 2004-11-12</center>
"Hr size=1>
"Organization Department Holds Press Conference
"Organization Department Holds Press Conference
"/BODY>
"/HTML>
[/html]
'========================
(Copyright : PaintBlue.Net | blueidea.com)
2004-11-12 Aug.
Ps : Please specify the source of reproduced!

\\Access SQL script prepared for! (Application of MDB generated SQL script)

Reading the above methods with the table structure, field by field were the order of the classification is not the original order.

Set rs = = Conn.Execute ( "select * from [mytable]")
For each mutant in rs.fields
Next
This is the original sequence, but only the Name, Type, a few useful attributes DefinedSize


Here there is a col.type the figures and characters, and your little different.

Like access
ColumnTypes (130) = "nChar"
.....
ColumnTypes (202) = "nVarChar"
Almost all




Http://www.aspfaq.com/show.asp?id=2177
----------------------------------------------------------------
Dim columnTypes (205)
ColumnTypes (0) = "Empty"
ColumnTypes (2) = "SmallInt"
ColumnTypes (3) = "Integer"
ColumnTypes (4) = "Real"
ColumnTypes (5) = "Double"
ColumnTypes (6) = "Currency"
ColumnTypes (7) = "Date"
ColumnTypes (8) = "BSTR"
ColumnTypes (9) = "IDispatch"
ColumnTypes (10) = "Error Code"
ColumnTypes (11) = "Boolean"
ColumnTypes (12) = "Variant"
ColumnTypes (13) = "IUnknown"
ColumnTypes (14) = "Decimal"
ColumnTypes (16) = "TinyInt"
ColumnTypes (17) = "Unsigned TinyInt (BYTE)"
ColumnTypes (18) = "Unsigned Small Int (WORD)"
ColumnTypes (19) = "Unsigned Int (DWORD)"
ColumnTypes (20) = "BigInt"
ColumnTypes (21) = "Unsigned Big Int"
ColumnTypes (64) = "FileTime"
ColumnTypes (72) = "Unique Identifier (GUID)"
ColumnTypes (128) = "Binary"
ColumnTypes (129) = "Char"
ColumnTypes (130) = "nChar"
ColumnTypes (131) = "Numeric"
ColumnTypes (132) = "User Defined (UDT)"
ColumnTypes (133) = "DBDate"
ColumnTypes (134) = "DBTime"
ColumnTypes (135) = "SmallDateTime"
ColumnTypes (136) = "Chapter"
ColumnTypes (138) = "Automation (PropVariant)"
ColumnTypes (139) = "VarNumeric"
ColumnTypes (200) = "VarChar"
ColumnTypes (201) = "Text"
ColumnTypes (202) = "nVarChar"
ColumnTypes (203) = "nText"
ColumnTypes (204) = "VarBinary"
ColumnTypes (205) = "Image"

\\Access SQL script prepared for! (Application of MDB generated SQL script)

51windows said in a message



ColumnTypes (130) = "nChar"
.....
ColumnTypes (202) = "nVarChar"
Access SQL text and there are only distinction varchar
Now with access to the type of data query list

Query (4) "ORDINAL_POSITION" marker is shown in the original order of the table Field
Changes filter ORDINAL_POSITION until eof = n
China will complete the normal order! I turned around to try something

RescordSet fields can take the name, then we will proceed to query
However, the preparation of low efficiency

Access data types, of which only 12 are two types of binary varchar three texts and the values are 130 longtext Remarks
Numeric types synonymous with the maximum number of 131 is Decimal
Lane is the type of SQL Server 202.

SQL data type keyword agree with a lot of words that I have used their own pre-standard SQL Jet
Data type is based on direct access to SQL query! So take Ado than the record set more accurate data types, going around in circles

List mode data types :
OpenSchema (22) -->21
TYPE_NAME DATA_TYPE COLUMN_SIZE LITERAL_PREFIX LITERAL_SUFFIX CREATE_PARAMS IS_NULLABLE CASE_SENSITIVE SEARCHABLE UNSIGNED_ATTRIBUTE FIXED_PREC_SCALE AUTO_UNIQUE_VALUE LOCAL_TYPE_NAME MINIMUM_SCALE MAXIMUM_SCALE GUID TYPELIB VERSION IS_LONG BEST_MATCH IS_FIXED LENGTH
Short 2 5 "Null>" Null> "Null> 4 False True False True False" Null> "Null>" Null> "Null>" Null> "Null> True True False
Long 3 10 "Null>" Null> "Null> 4 False True True True False" Null> "Null>" Null> "Null>" Null> "Null> True True False
Single 4 7 "Null>" Null> "Null> 4 False False False True False" Null> "Null>" Null> "Null>" Null> "Null> True True False
Double 5 15 "Null>" Null> "Null> 4 False False False True False" Null> "Null>" Null> "Null>" Null> "Null> True True False
Currency 6 19 "Null>" Null> "Null> 4 False True False True False" Null> "Null>" Null> "Null>" Null> "Null> True True False
DateTime 7 8 # # "Null> True False 4 True True False" Null> "Null>" Null> "Null>" Null> "Null> True True False
Bit 11 2 "Null>" Null> "Null> False True False True False 4" Null> "Null>" Null> "Null>" Null> "Null> True True False
Byte 17 3 "Null>" Null> "Null> True False 4 True True False" Null> "Null>" Null> "Null>" Null> "Null> True True False
GUID 72 16 "Null>" Null> "Null> True False 4 True True False" Null> "Null>" Null> "Null>" Null> "Null> True True False
BigBinary 128 4000 x "Null>" Null> 4 True False False True False "Null>" Null> "Null>" Null> "Null>" Null> False False False
LongBinary x 128 1073741823 "Null>" Null> True False 4 True True False "Null>" Null> "Null>" Null> "Null>" Null> False True False
VarBinary 128 510 x "Null> max length True False 4 True True False" Null> "Null>" Null> "Null>" Null> "Null> False True False
LongText 130 536870910 '' "Null> True False 4 True True False" Null> "Null>" Null> "Null>" Null> "Null> False True False
VarChar 130 255 ',' max length True False 4 True True False "Null>" Null> "Null>" Null> "Null>" Null> False True False
Decimal 131 28 "Null>" Null> precision, the scale 4 False True False True False "Null> 0 28" Null> "Null>" Null> True True False

Never get to the bottom

The recent pattern of the field inquiries and rs = record set oledb jet made all internal dynamic attributes and attribute adox
Five completely list

Find a lot of useful outrageous!
SQL server more in the next list


\\Access SQL script prepared for! (Application of MDB generated SQL script)

To sea conditions :

ORDINAL_POSITION changed what used to achieve the original sequence prepared by the Field
Absolutely accurate. Over fields (i). Also convenient name
1. Laws about what types Note the word text used on standard SQL Access Jet char / varchar I have been accustomed LongText

Jet SQL 4.0, the name and the name of a different model inquiries
Inquiries can accurately model the real use of the data type, and if not smallint integer is short rather than long integer is a long integer, INT, a synonym INTEGER4
But the latter is the standard phrase MSSQL! In the end, what kind of definition of the word, it was customary!

Changes :
Dim autoclumnStr, columnStr
If autoclumn<> "" then
AutoclumnStr= "" &splitchar& "[" autoclumn & & "] integer IDENTITY (1," &GetIncrement (tableName, autoclumn) & ") not null"
End if
N = 0
Do
N=n+1
Cols.filter= "Table_name= '" &tableName& "' and ORDINAL_POSITION=" &n
Then exit do if cols.eof
If n> 1 then TmpStr=TmpStr& "," & & vbcrlf splitchar1
If autoclumn=cols ( "Column_name") then
TmpStr=TmpStr & autoclumnStr
Else
TmpStr=TmpStr & "" &splitchar& "[" & cols ( "Column_name") & "]" & lcase (datatypeStr (cols ( "DATA_TYPE") cols ( "CHARACTER_MAXIMUM_LENGTH"))) & defaultStr (cols ( "DATA_TYPE"), cols ( "COLUMN_DEFAULT") exec) & nullStr (cols ( "IS_NULLABLE"))
End if
Cols.movenext
Loop
TmpStr=TmpStr splitchar1 & vbcrlf & & "" &splitchar& ")"
Cols.close
Then if exec=1
TmpStr=TmpStr& "," ")"
End if

\\Access SQL script prepared for! (Application of MDB generated SQL script)

I sgl server Lane manual build a table of all types have set up a, reading out the following.


For each mutant in the col.type rs.fields

----------------------

ColumnTypes (129) = "char"
ColumnTypes (135) = "datetime"
ColumnTypes (131) = "decimal"
ColumnTypes (5) = "float"
ColumnTypes (205) = "image"
ColumnTypes (3) = "int"
ColumnTypes (6) = "money"
ColumnTypes (130) = "nchar"
ColumnTypes (203) = "ntext"
ColumnTypes (131) = "numeric"
ColumnTypes (202) = "nvarchar"
ColumnTypes (4) = "real"
ColumnTypes (135) = "smalldatetime"
ColumnTypes (2) = "smallint"
ColumnTypes (6) = "smallmoney"
ColumnTypes (204) = "sql_variant"
ColumnTypes (201) = "text"
ColumnTypes (128) = "timestamp"
ColumnTypes (17) = "tinyint"
ColumnTypes (72) = "uniqueidentifier"
ColumnTypes (204) = "varbinary"
ColumnTypes (200) = "varchar"
ColumnTypes (20) = "bigint"
ColumnTypes (128) = "binary"
ColumnTypes (11) = "bit"


Set Conn.openSchema cols = (4) cols ( "DATA_TYPE")

---------------------

ColumnTypes (129) = "char"
ColumnTypes (135) = "datetime"
ColumnTypes (131) = "decimal"
ColumnTypes (5) = "float"
ColumnTypes (128) = "image"
ColumnTypes (3) = "int"
ColumnTypes (6) = "money"
ColumnTypes (130) = "nchar"
ColumnTypes (130) = "ntext"
ColumnTypes (131) = "numeric"
ColumnTypes (130) = "nvarchar"
ColumnTypes (4) = "real"
ColumnTypes (135) = "smalldatetime"
ColumnTypes (2) = "smallint"
ColumnTypes (6) = "smallmoney"
ColumnTypes (128) = "sql_variant"
ColumnTypes (129) = "text"
ColumnTypes (128) = "timestamp"
ColumnTypes (17) = "tinyint"
ColumnTypes (72) = "uniqueidentifier"
ColumnTypes (128) = "varbinary"
ColumnTypes (129) = "varchar"
ColumnTypes (20) = "bigint"
ColumnTypes (128) = "binary"
ColumnTypes (11) = "bit"



There are several different places

ColumnTypes (col.type) (cols ( "DATA_TYPE")) = ""


ColumnTypes (205) (128) = "image"
ColumnTypes (203) (130) = "ntext"
ColumnTypes (202) (130) = "nvarchar"
ColumnTypes (204) (128) = "sql_variant"
ColumnTypes (201) (129) = "text"
ColumnTypes (204) (128) = "varbinary"

\\Access SQL script prepared for! (Application of MDB generated SQL script)

Rs.fields read out the data type definition Ado
OpenSchema (4) to read out the data type definition database itself Health
That the two are not exactly the same, not the same as the SQL server and Access
(Ado.command use of the transmission parameters of the process used to store the value of Ado
Scripts should build to the list based on Mode 4)


\\Access SQL script prepared for! (Application of MDB generated SQL script)

Ado disaggregated data types and constant (Source online manual data exchange of SQL 2000)
[img]http://www.paintblue.net/temp/adotype.gif[/img]
Ado sgl data type mapping (online manual source data exchange of SQL 2000)
Tinyint seems to be wrong, there are a number of misconceptions online manuals sgl
[img]http://www.paintblue.net/temp/sqlado.gif[/img]
Adtinyint list value should be compared tinyint
(By definition includes ADOVBS.INC constant)
[img]http://www.paintblue.net/temp/adosqlvalue.gif[/img]

PS : Another discovery Access promotions Sqlserver guides all put into smallint tinyint
Not used, it used SQL scripts prepared sgl opensource () to obtain a better Data Access
But to do so, there are some detailed questions, had to make

Access to the system have no direct inquiries table with Ado (no jurisdiction, we do not know what authority, or suggested that Microsoft make the blind), (MySysObject other. . ) Should contain a large number of Access to the database structure information directly, there is no way to?



\\Access SQL script prepared for! (Application of MDB generated SQL script)

Second edition (Generation Access to SQL server data into the SQL script promotions
Results generated in the SQL server Lane inquiries analyzer operation, the use of dataopensource () function) :
Http://www.paintblue.net/download/data/DB_CreateSqlE.rar

In addition to reducing reservoir structure, but also to the data into Access to SQL server
Accessr SQLserve and not the same as the view, with its Access automatically ranked.
Select * Formation of the same script with the joint inquiry was ranked 78, may need to re-adjust the control

The former one is different! The script generated by the SQL server to run indefinitely inquiries analyzer

\\Access SQL script prepared for! (Application of MDB generated SQL script)

DFS said in a message


1. The simplest method (manual database users authority installed) : [b] security tools>>> power users and groups find mSysObjects table below Dashanggou authority on the trip [/b]
2.ADO (ADOX) :
Object Catalog
User Object
Group targets
SetPermissions method
GetPermissions method
3. Use Jet SQL, to create a working group on information document, but there are some that security issues.
ACCESS 2k, then the operation (the installation of the tacit consent of the path) : C:\Program Files\Microsoft Office\Office\2052\WRKGADM.EXE

With this information the Working Group documents, as long as they have the authority to perform the following sentence can be carried out on some DDL sentences. JET SQL can help to check the manual.
Add User Sentence
Create Group Sentence
Create User Sentence
Drop User Sentence
Drop Group Sentence
Alter User Sentence
Alter Database Sentence
<%
To give an example : change passwords Secretary ACCESS
SConn= "provider=microsoft.jet.oledb.4.0;user id=admin;Jet OLEDB:System Database=mdw documents and trails ;jet oledb : password=access password database ;data source= Path "
OConn.mode = &Hc 'exclusive way to open the database
OConn.Open sConn
'Has been set up to delete the password
'SSQL = "null [12345] ALTER DATABASE PASSWORD"
'The first time to set up the database of passwords, create acquiescence in the reservoir because there is no password
SSQL = "ALTER DATABASE PASSWORD [12345] []"
'修改已有密码保护的数据库的密码
'sSQL = "ALERT DATABASE PASSWORD [12345] [旧密码]"
Set ooo = oConn.Execute(sss)
%>


关于 Access 用户级安全性
Access 使用 Microsoft Jet 数据库引擎来存储和检索数据库中的对象。Jet 数据库引擎使用基于工作组的安全模型(也称为用户级安全性)来判断谁可以打开数据库,并保护数据库所包含对象的安全。无论是否明确设置了数据库的安全性,用户级安全性对所有 Access 数据库始终处于打开状态。您可以通过操纵用户和组帐户的权限和成员身份来更改 Access 中的默认安全级别。下面将对此进行介绍。

无论何时启动 Access,Jet 数据库引擎都要查找工作组信息文件(默认名称为 system.mdw,也可以使用扩展名 .mdw 任意命名)。工作组信息文件包含组和用户信息(包括密码),这些信息决定了谁可以打开数据库,以及他们对数据库中的对象的权限。对单个对象的权限存储在数据库中。这样,例如,就可以赋予一个组的用户(而不是其他用户)使用特定表的权限,而赋予另一个组查看报表的权限,但不能修改报表的设计。

工作组信息文件包括内置组(Admins 和 Users)以及一个通用用户帐户 (Admin),该帐户具有管理数据库及其包含的对象的权限(无限制)。您也可以使用菜单命令(“工具”菜单中的“安全”子菜单)或者通过 VBA 代码添加新的组和用户。

注意:安装 Access 时,安装程序会自动创建工作组信息文件,并使用您指定的名称和单位信息来命名。因为这一信息通常很容易被判断出来,因而未经授权的用户很可能会创建另一个版本的工作组信息文件,从而在由该工作组信息文件定义的工作组中,为自己设定一个不可撤消的管理员帐户(Admins 组的成员)权限。为防止发生这种情况,应创建一个新的工作组信息文件,并指定唯一的工作组 ID (WID)。这样,只有知道 WID 的用户才能创建该工作组信息文件的副本。本文后面将讨论使用 User-level Security Wizard 创建新的工作组信息文件。
Admins 组不能被删除,其成员具有不可撤消的管理权限。您可以通过菜单或代码删除 Admins 组的权限,但 Admins 组的任何成员都可以重新添加权限。此外,Admins 组中必须始终至少有一个管理数据库的成员。对于没有进行安全设置的数据库,Admins 组始终包含默认的 Admin 用户帐户,它也是所有用户默认登录的帐户。

所有用户必须属于默认的 Users 组,不管他们是否还属于其他组。您可以在 VBA 中创建用户帐户,而并不将新的用户帐户添加到 Admins 组中。然而,如果不同时将该用户帐户添加到 Admins 组中,该用户将无法成功启动 Access,因为 Access 内部使用的用于管理数据库的很多表都映射到 Users 组的权限。

使用以下步骤进行 Access 数据库的安全设置:

将新用户帐户添加到 Admins 组中。该用户对数据库中的对象具有管理权限。
从 Admins 组中删除默认的 Admin 用户帐户。
从 Admin 用户和 Users 组中删除权限。
为所创建的任何自定义组分配权限。
在默认 Admin 用户帐户上设置密码会激活登录对话框,从而每次启动 Access 时都会提示用户输入用户名和密码。如果您没有在 Admin 帐户上设置密码,用户将自动作为 Admin 用户登录,无需密码,也不会出现登录对话框。

对数据库中对象的权限可以是显式的(直接分配给用户帐户)或隐式的(从用户所属的组继承),也可以是两者的结合。Access 在权限问题上使用“最少限制”规则,即用户的权限包括其显式和隐式权限的总和。例如,如果用户 A 的帐户具有限制权限,而用户 A 属于一个具有限制权限的组,同时也属于另一个具有管理(所有)权限的组,那么用户 A 将具有管理权限。有鉴于此,通常最好不要为用户帐户分配显式权限。而应创建具有不同权限的组,然后将用户分配给具有适当权限的组,这会减少数据库管理方面的麻烦。

\\Access Sql脚本编写器!(MDB生成Sql脚本)

cjj你总是给我惊喜!
一直没注意到这些!
回头琢磨,偶做梦都想把 Ac的 MySysobject 等等包裹的紧紧的那些系统表东西 list出来

按飞鸟的建议,偶准备再做一个 SQLserver 导入到Access的SQL脚本 的版本
这样就可以实现 AC SQL比较完美的数据互换

SQLserver的数据导入向导的缺点:  所有索引主键默认约束 全部丢失,视图被当成实表导入而无用
Access2000的升迁向导的缺点: 主键默认约束 是保留了, 但所有 varchar 全强制改为 Nvarchar 所有 tinyint  (byte) 的一字节整数全部 强制改为 smallint,视图不能升迁
都不爽


高手解答

错误类型:
Microsoft VBScript 运行时错误 (0x800A01F4)
变量未定义:' Body__Label'
/tyxy/ShowArticle_tyb.asp, 第 131 行
当我把他'Body__Label'删掉时就可以显示了
但是有些功能就不能用了

\\Access Sql脚本编写器!(更新第五版)

不明白你说的是什么?
是导入的数据库不能用?

还是生成的脚本无法运行?

\\Access Sql脚本编写器!(更新第六版)

高手,好好用啊,崇拜中…………
请求:能不能把字段的注释也倒过去啊???

\\Access Sql脚本编写器!(更新第六版)

萧萧小雨在上个帖子中说


呵呵,你用企业管理器打开SQL的表看看?
SQL无字端注释的对应项目!
所以倒不了 ~~

但access的注释可以读出来

\\Access Sql脚本编写器!(更新第六版)

V37在上个帖子中说


MS SQL到ACS的话,存储过程是比较郁闷的,ACS好像只支持一条语句,很多东西都不支持,转换起来相当麻烦。

顺便PM蓝色吧,把下面地址中的东西也更新掉
http://www.blueidea.com/download/product/2004/2329.asp




Copyright © 1999-2000 LSLNET.COM. All rights reserved. 蓝森林网站 版权所有。 E-mail : webmaster@lslnet.com