|
Server : Apache/2.4.62 System : FreeBSD fbsdweb2.web.rcn.net 14.1-RELEASE FreeBSD 14.1-RELEASE releng/14.1-n267679-10e31f0946d8 GENERIC amd64 User : www ( 80) PHP Version : 8.3.8 Disable Function : NONE Directory : /domains/mguerinweb/Offline_Archive/DBAdmin/ |
Upload File : |
<%
'1 Click DB copyright 1997-2002 David Kawliche, AccessHelp.net
'1 Click DB technology is protected by national and international
'laws and treaties. Never use, distribute, or redistribute
'any software and/or source code in violation of its licensing.
'Use of this software and/or source code is strictly at your own risk.
'All warranties are specifically disclaimed except as required by law.
'IMPORTANT : THIS CODE USES PASS-THROUGH SECURITY !
'
'To enforce application security, set logins and permissions
'for all web server and database users as appropriate.
'For more information see : http://1ClickDB.com
'**Start Encode**
%>
<!--#INCLUDE FILE=ocdFreeInit.asp-->
<!--#INCLUDE FILE=ocdForm.asp-->
<!--#INCLUDE FILE=ocdGrid.asp-->
<!--#INCLUDE FILE=ocdFunctions.asp-->
<%
dim objForm, rsDef, evDef, evDefresult, hasdef, fkrelatedfield, fkrelatedtable, fldF, strName, intSize, tQS, bintSize, rsFK, HasFK, intFKColumnCount, strFKColumnName, strPKTables, elePKName, eleFKName, strFKTables, arrPKTables, arrFKTables, prevPKTable, prevFKTable, cat, tblCat, astrTemp, keytblcat, colkeytblcat, rsdefeval, arrrsdef, intrsdef, rtmpqs, intI, arrHomeField, arrfkRelatedField, prevcolumn, objNDBrowseGrid, homefield, showrelated, intcountgrids, strSQLTName, varFormNum
if Request.Querystring("SQLFrom") = "" Then
Response.clear
Response.Redirect ("FreeSchema.asp" )
End if
set objForm = New ocdForm
objForm.FormNullToken = ocdFormNullToken
objForm.SQLConnect = ndnscSQLConnect 'ADO Connect String, including uid and pw if necessary
objForm.AllowMultiDelete = True
objForm.SQLUser = ndnscSQLUser
objForm.SQLPass = ndnscSQLPass
objForm.SQLSelect = "*" 'Database Field List
objForm.SQLFrom = Request.QueryString("sqlFrom")'Database Table Name
objForm.AllowEdit = True
objForm.AllowAdd = True
objForm.AllowDelete = True
objForm.HTMLCheckField = "<SPAN CLASS=Warning> Check </SPAN>"
objForm.HTMLAttribSaveBtn = "TYPE=""Submit"" Value=""Save"" CLASS=""Submit"""
objForm.HTMLAttribCancelBtn = "TYPE=""Submit"" Value=""Cancel"" CLASS=""Submit"""
objForm.HTMLAttribNewBtn = "TYPE=""Submit"" Value=""New"" CLASS=""Submit"""
objForm.HTMLAttribDeleteBtn = "TYPE=""Submit"" Value=""Delete"" CLASS=""Submit"""
objForm.Open
if (ocdDataBaseType = "SQLServer") and request.querystring("ocdShowRelated") <> "Yes" Then
ocdSelectForeignKey = false
ocdShowRelatedRecords = false
End if
hasFK = False
select case ocdDatabaseType
Case "Access"
strSQLTName = CSTR(FormatForSQL(request.querystring("SQLFROM"), ocddatabasetype, "RemoveSQLIdentifier"))
Case "SQLServer"
strSQLTName = GetSQLIDFPart(request.querystring("SQLFROM"),"SQLOBJECTNAME", ocdQuotePrefix,ocdQuoteSuffix)
End Select
'React to Form events
sub ocdBeforeUpdate ()
'not used
End sub
sub ocdAfterUpdate()
'not used
end sub
sub ocdBeforeInsert ()
'not used
End sub
sub ocdAfterInsert()
'not used
end sub
sub ocdAfterDelete()
dim strADURL, tmpadqs
if request.querystring("SQLFROM_A") <> "" Then
strADURL = "FreeBrowse.asp?"
for each tmpadqs in request.querystring
Select Case UCASE(tmpadqs)
Case "SQLFROM","SQLSELECT","SQLWHERE"
Case Else
strADURL = strADURL & tmpadqs & "=" & Server.URLEncode(request.querystring(tmpadqs)) & "&"
End Select
next
response.clear
response.redirect strADURL
End if
end sub
sub ocdBeforeDelete()
call writeheader("")
dim tmpeqs
Response.write ("<FORM ACTION=""")
Response.write (request.servervariables("SCRIPT_NAME") & "?")
for each tmpeqs in request.querystring
if UCase(tmpeqs) <> "OCDEDITDELETE" Then
Response.write (tmpeqs & "=" & Server.URLEncode(request.querystring(tmpeqs)) & "&")
end if
next
Response.write (""" method=post>")
Response.write ("<CENTER><TABLE WIDTH=""50%"" CLASS=""DialogBox""><TR><TH STYLE=""text-align:left;background-color:navy;color:white;"" ALIGN=LEFT><DIV STYLE=""color:white;"">Confirm Delete</DIV></TH><TR><TD BGCOLOR=Silver VALIGN=TOP>")
Response.write ("<TABLE><TR CLASS=DIALOGBOXROW><TD VALIGN=TOP><IMG SRC=AppWarning.gif border=0 ALT=""Warning""></td><TD> </td><TD VALIGN=TOP><P>")
if objForm.SQLID <> "" or objForm.SQLWHERE <> "" THen
Response.write ("<b>Are you sure you want to delete the selected record(s)?</b><P>This action cannot be undone.<P><INPUT TYPE=Submit SPAN CLASS=Submit Name=ocdEditConfirm Value=""OK""> <INPUT TYPE=submit Name=ocdEditCancel CLASS=Submit Value=""Cancel""><INPUT TYPE=hidden Name=ocdEditCancelPage CLASS=Submit Value=""FreeBrowse.asp""><INPUT TYPE=hidden Name=ocdEditDelete CLASS=Submit Value=""Delete""></td></tr></table></TD></TR></TABLE></CENTER>")
Else
Response.write ("<b>No Records Were Selected</b><P>You may use your browser's back button to continue.</td></tr></table></TD></TR></TABLE></CENTER>")
End if
Response.write ("</form>")
Call writefooter("")
response.end
end sub
if (ocdSelectForeignKey or ocdShowRelatedRecords ) AND (objForm.ADOConnection.provider ="Microsoft.Jet.OLEDB.4.0" OR objForm.ADOConnection.provider ="SQLOLEDB.1") Then
set rsFK = objForm.ADOConnection.OpenSchema(27)
if err = 0 Then
if not rsFK.eof then
HasFK = True
strPKTables = ""
strFKTables = ""
prevPKTable = ""
prevFKTable = ""
do while not rsFK.eof
if (rsFK.Fields("PK_TABLE_NAME").Value) = strSQLTName and (rsFK.Fields("FK_TABLE_NAME").Value) <> (prevFKTABLE) Then
prevFKTable = (rsFK.Fields("FK_TABLE_NAME").Value)
strFKTables = strFKTables & (rsFK.Fields("FK_TABLE_NAME").Value) & ","
end if
if (rsFK.Fields("FK_TABLE_NAME").Value) = strSQLTName and (rsFK.Fields("FK_NAME").Value) <> (prevPKTABLE) Then
prevPKTable = (rsFK.Fields("FK_NAME").Value)
strPKTables = strPKTables & (rsFK.Fields("FK_NAME").Value) & ","
end if
rsFK.movenext
loop
if len(strPKTables) > 0 then
strPKTables = left(strPKTables, len(strPKTables)-1)
End if
if len(strFKTables) > 0 then
strFKTables = left(strFKTables, len(strFKTables)-1)
End if
Else
rsFK.close
set rsFK = nothing
End if
Else
set rsFK = nothing
err.clear
End if
End if
'zresponse.write hasFK
Call WriteHeader("")
response.flush
if not cbool(cint(ndnscCompatibility) and ocdNoJavaScript) Then
varFormNum = "0"
Response.write (vbCRLF & "<script TYPE=""text/javascript"" Language=""JavaScript"">" & vbCRLF)
Response.write ("<!--" & vbCRLF)
Response.write ("function doloadbin() {" & vbCRLF)
Response.write (" if (!document.forms[" & varFormNum & "].ocdbinarydisplay.options[0].selected){" & vbCRLF)
Response.write (" vartmp = document.forms[" & varFormNum & "].action;" & vbCRLF)
Response.write (" document.forms[" & varFormNum & "].action = ""ocdDisplayBinary.asp?")
for each rtmpqs in request.querystring
if UCase(rtmpqs) <> "SQLIDFIELD" Then
Response.write (rtmpqs & "=" & Server.URLEncode(Request.querystring(rtmpqs)) & "&")
end if
next
Response.write (""";" & vbCRLF)
response.write (vbCRLF)
Response.write (vbCRLF)
varFormNum = 0
Response.write (" if (!document.forms[" & varFormNum & "].ocdbinarydisplay.options[7].selected){" & vbCRLF)
Response.write (" document.forms[" & varFormNum & "].target = ""_blank"";" & vbCRLF)
Response.write ("}" & vbCRLF)
Response.write (" document.forms[" & varFormNum & "].submit();" & vbCRLF)
Response.write (" document.forms[" & varFormNum & "].action = vartmp;" & vbCRLF)
Response.write (" document.forms[" & varFormNum & "].target = ""_self"";" & vbCRLF)
Response.write ("}" & vbCRLF)
Response.write ("}" & vbCRLF)
Response.write ("// -->" & vbCRLF)
Response.write ("</script>" & vbCRLF)
End if
Response.Flush
Response.write ("<SPAN CLASS=Information> ")
if Request.QueryString("sqlid") = "" and request.querystring("SQLWHERE") = "" Then
Response.write ("Add Record To ")
Else
Response.write ("Edit Record In ")
End if
Response.write (" <A HREF=""Freebrowse.asp?sqlfrom_a=" & Server.URLEncode(request.querystring("sqlfrom")) & "&")
for each tQS in Request.Querystring
if UCASE(tQS) <> "SQLID" AND UCASE(tQS) <> "SQLFROM" AND UCASE(tQS) <> "NDBTNDELETE" AND UCASE(tQS) <> "SQLFROM_A" and UCASE(tQS) <> "ACTION" and UCASE(tQS) <> "SQLWHERE" Then
Response.write (tQS & "=" & Server.URLEncode(Request.Querystring(tQS)) & "&")
End if
next
Response.write (""">")
Response.write ("" & Request.Querystring("SQLFrom") )
Response.write ("</a>")
Response.write ("</SPAN>")
Select Case UCASE(ocdDatabaseType)
Case "SQLSERVER"
Response.write (" <A CLASS=MENU HREF=""" & ocdPageName & "?")
If request.querystring("OCDSHOWRELATED") = "Yes" Then
response.write "ocdShowRelated=&"
Else
response.write "ocdShowRelated=Yes&"
End if
for each tQS in Request.Querystring
if UCASE(tQS) <> "OCDSHOWRELATED" THen
Response.write (tQS & "=" & Server.URLEncode(Request.Querystring(tQS)) & "&")
End if
next
If request.querystring("OCDSHOWRELATED") = "Yes" Then
Response.write (""">(Hide ")
Else
Response.write (""">(Show ")
End if
Response.write ("Related)</A>")
End Select
Response.write ("<P>")
Response.Flush
'start writing main body
objForm.Display("STATUS")
objForm.Display("START")
Response.write ("<TABLE>")
if ocdShowDefaults and request.querystring("Sqlid") = "" and request.querystring("sqlwhere") = "" Then
if (objForm.ADOConnection.provider ="Microsoft.Jet.OLEDB.4.0") Then
set rsdef = objForm.ADOConnection.OpenSchema(4,Array(Empty,Empty,CSTR(FormatForSQL(request.querystring("SQLFROM"), ocddatabasetype, "RemoveSQLIdentifier")))) 'columns
if rsdef.eof then
ocdShowDefaults = False
Else
arrrsdef = rsdef.getrows (,,Array("TABLE_NAME","COLUMN_NAME","COLUMN_DEFAULT"))
rsdef.close
set rsdef = nothing
End if
set rsdefeval = server.createobject("ADODB.Recordset")
ElseIf (objForm.ADOConnection.provider = "SQLOLEDB.1")Then
set rsdef = objForm.ADOConnection.OpenSchema(4,Array(Empty,Empty,CSTR(GetSQLIDFPart(request.querystring("SQLFROM"),"SQLOBJECTNAME", ocdQuotePrefix,ocdQuoteSuffix)))) 'columns
if rsdef.eof then
ocdShowDefaults = False
Else
arrrsdef = rsdef.getrows (,,Array("TABLE_NAME","COLUMN_NAME","COLUMN_DEFAULT"))
rsdef.close
set rsdef = nothing
End if
set rsdefeval = server.createobject("ADODB.Recordset")
Else
ocdShowDefaults = False
End if
Else
ocdShowDefaults = False
End if
' format each field according to its type
For Each fldF in objForm.ADORecordset.Fields
strName = fldF.Name
Select Case strName 'check for replication columns
Case "Gen_Description"
'response.write fldF.type
End Select
intSize = fldF.DefinedSize
if intSize = -1 Then
intSize=50
End if
intFKColumnCount = 0
strFKColumnName = ""
fkrelatedtable = ""
fkrelatedfield = ""
Select Case fldF.Type
Case 205, 128, 204 'adLongVarBinary, adBinary, adVarBinary
Response.write ("<TR><TD nowrap valign='top' align=right>")
Response.write ("<SPAN CLASS=""FieldName"">" & strName & ":</SPAN>")
Response.write (" ")
Response.write ("</TD>")
Response.write ("<TD align=left valign=baseline>")
Response.write ("<SPAN Class=Information>Binary Data</SPAN> ")
Response.write ("</TD></TR>")
Case Else
hasdef=false
if ocdShowDefaults and request.querystring("sqlid") = "" and request.querystring("sqlwhere") = "" and not ocdDatabaseType = "Oracle" Then
intrsdef = 0
do while intrsdef < ubound(arrrsdef,2)
if ocdDataBaseType = "Access" Then
astrTemp = FormatForSQL((request.querystring("sqlfrom")),ocddatabasetype,"REMOVESQLIDENTIFIER")
ElseIf ocdDataBaseType = "SQLServer" THen
astrTemp = GetSQLIDFPart(request.querystring("SQLFROM"),"SQLOBJECTNAME", ocdQuotePrefix,ocdQuoteSuffix)
End if
if astrTemp = (arrrsdef(0,intrsdef)) Then
if UCase(strName) = UCase(arrrsdef(1,intrsdef)) Then
if not isnull(arrrsdef(2,intrsdef)) Then
evdef = arrrsdef(2,intrsdef)
hasdef = true
exit do
End if
end if
End if
intrsdef = intrsdef + 1
Loop
if not hasdef then
evdefresult = ""
Else
call rsdefeval.open ("Select " & evdef & " as expr1", objForm.ADOConnection)
evdefresult = rsDefeval.Fields(0).Value
rsdefeval.close
End if
Else
evdefresult = ""
End if
if isnull(evdefresult) then
evdefresult = ""
End if
IF ocdSelectForeignKey and HasFK and not ocdReadOnly Then
rsFK.movefirst
do while not rsFK.EOF
if (rsFK.Fields("FK_TABLE_NAME").Value) = strSQLTName and rsFK.Fields("FK_COLUMN_NAME").Value = strNAME Then
intFKColumnCount = intFKColumnCount + 1
strFKColumnName = strName
fkrelatedtable = rsFK.Fields("PK_TABLE_NAME").Value
fkrelatedfield = rsFK.Fields("PK_COLUMN_NAME").Value
end if
rsFK.movenext
loop
end if
Response.write ("<TR><TD nowrap valign='top' align=right>")
Response.write ("<SPAN CLASS=""FIELDNAME"">" & strName & ":</SPAN>")
if CBool(fldF.Attributes and &H00000020) Then 'adFldIsNullable
Response.write (" ")
Else
Response.write (" <SPAN CLASS=""Warning"">*</SPAN>")
end if
Response.write ("</TD>")
if intfkcolumncount = 1 Then 'multicolumns not supported as dropdowns
Response.write ("<TD align=left valign=top>")
if objForm.ADOConnection.provider ="Microsoft.Jet.OLEDB.4.0" Then
Response.write (objForm.DisplayFieldAsRelatedValues(Replace(fldF.Name,"""","""""") ,"Select [" & fkRelatedField & "] From [" & fkRelatedTable & "] Order By [" & fkRelatedField & "]",evdefresult,"CLASS=DataEntry"))
Else
Response.write (objForm.DisplayFieldAsRelatedValues(Replace(fldF.Name,"""","""""") ,"Select """ & fkRelatedField & """ From """ & fkRelatedTable & """ Order By """ & fkRelatedField & """",evdefresult,"CLASS=DataEntry"))
End if
Response.write ("</TD></TR>")
Else
Select Case fldF.Type
Case 201, 203 'adLongVarChar, adLongVarWChar
Response.write ("<TD align=left valign=top>")
Response.write (objForm.DisplayFieldAsMemo(strName,evdefresult,"ROWS =""5"" COLS=""35"" CLASS=""DataEntry"" "))
if not cbool(cint(ndnscCompatibility) and ocdNoJavaScript) and Not ocdReadOnly Then
Response.write (" <A HREF="""" onclick=""javascript:window.open('ocdZoomText.asp?CallingForm=" & varformnum & "&TextField=" & server.urlencode("ocdTF" & strName) & "', 'zoomtext','height=400,width=600,scrollbars=yes');return false""><IMG ALT=""Zoom Text"" SRC=""GridLnkEdit.gif"" Border=0></A>")
Response.write (vbCRLF & "<script TYPE=""text/javascript"" Language=""JavaScript"">" & vbCRLF)
Response.write ("if (parseInt(navigator.appVersion) >= 4) {" & vbCRLF)
Response.write (" if (navigator.appName == ""Microsoft Internet Explorer"") {" & vbCRLF)
Response.write ("document.write ('<IMG ALT=\""HTML Edit\"" SRC=\""AppHTMLEdit.gif\"" Border=0 onClick=\""javascript:window.open(\'ocdHTMLEdit.asp?CallingForm=" & varformnum & "&TextField=" & server.urlencode("ocdTF" & strName) & "\', \'zoomtext\',\'height=400,width=600,scrollbars=yes\')\"">');" & vbCRLF)
Response.write (" }" & vbCRLF)
Response.write ("}" & vbCRLF)
Response.write ("</SCRIPT>" & vbCRLF)
End if
Response.write ("</TD></TR>")
Case 11 'adBoolean
Response.write ("<TD align=left valign=top>")
Response.write ("<TD align=left valign=top>")
If not CBool(fldF.Attributes and &H00000020) Then
Response.write (objForm.DisplayFieldAsCheckBox(strName,True,False,True,""))
Else
Response.write (objForm.DisplayFieldAsTextBox(strName,"","SIZE=""5"" MAXLENGTH=""12"" CLASS=""DataEntry"""))
Response.write ("</TD></TR>")
End if
Case 133, 135, 134, 7 'adDBDate, adDBTimeStamp, adDBTime, adDate
Response.write ("<TD align=left valign=top>")
Response.write (objForm.DisplayFieldAsTextBox(strName,evdefresult, "SIZE=""20"" MAXLENGTH=""50"" CLASS=""DataEntry"" "))
if not cbool(cint(ndnscCompatibility) and ocdNoJavaScript) and not ocdReadOnly Then
Response.write ("<A HREF="""" onClick=""javascript:window.open('ocdPickDate.asp?CallingForm=" & varformnum & "&DateField=" & server.urlencode("ocdTF" & strName) & "&InitialDate=' + document.forms[" & varformnum & "].elements['" & ("ocdTF" & strName) & "'].value, 'calendar','height=250,width=250,scrollbars=no');return false""><IMG WIDTH=17 HEIGHT=17 ALT=""Click for Calendar"" SRC=AppCalendar.gif BORDER=0></A>")
End if
Response.write ("</TD></TR>")
Case 6 'adCurrency
Response.write ("<TD align=left valign=top>")
Response.write (objForm.DisplayFieldAsTextBox(strName,evdefresult, "SIZE=""12"" MAXLENGTH=""50"" CLASS=""DataEntry"" "))
Response.write ("</TD></TR>")
Case 20, 14, 5, 131, 4, 2, 16, 21, 19, 18, 17, 3 'adBigInt, adDecimal, adDouble, adNumeric, adSingle, _
' adSmallInt, adTinyInt, adUnsignedBigInt, adUnsignedInt, _
' adUnsignedSmallInt, adUnsignedTinyInt,adInteger
Response.write ("<TD align=left valign=top>")
Response.write (objForm.DisplayFieldAsTextBox(strName,evdefResult, "SIZE=""24"" MAXLENGTH=""50"" CLASS=""DataEntry"" "))
Response.write ("</TD></TR>")
Case Else
Response.write ("<TD align=left valign=top>")
if intSize > 35 then
bintSize = 35
Else
bintSize = intSize
End if
Response.write (objForm.DisplayFieldAsTextBox(strName,evdefresult, "SIZE=""" & bintSize & """ MAXLENGTH=""" & intSize & """ CLASS=""DataEntry"" "))
Response.write ("</TD></TR>")
End Select
End if
End Select
Response.flush
response.clear
Next
If HasFK Then
rsFK.close
set rsFK = nothing
End if
if ocdShowDefaults Then
set rsdefeval = nothing
End if
Response.write ("</TABLE><p>")
if not ocdReadOnly Then
objForm.DISPLAY("BUTTONS")
End if
objForm.DISPLAY("END") ' and finally return the table
Response.write ("<P><SPAN CLASS=""Warning"">*</SPAN> indicates required field")
Response.write ("<P>")
response.flush
if err.number <> 0 Then
call writefooter("")
end if
If ocdShowRelatedRecords Then
Select Case ocdDatabaseType
Case "Access","SQLServer"
If ((objForm.ADOConnection.provider ="Microsoft.Jet.OLEDB.4.0" OR objForm.ADOConnection.provider ="SQLOLEDB.1") and (Request.Querystring("SQLID") <> "" or request.querystring("SQLWHERE") <> "") and not objForm.ADORecordset.eof) Then '
set cat = server.createobject("ADOX.Catalog")
if err <> 0 Then
Response.write ("Detailed view of related records is not available, an ADOX catalog could not be created.")
call writefooter("")
Else
set objNDBrowseGrid = New ocdGrid
objNDBrowseGrid.HTMLGridButtons = "First|First;;prev|Prev;;next|Next;;last|Last;;New|New"
objNDBrowseGrid.HTMLSortASCLink= "" 'HTML to display inside sort ascending link
objNDBrowseGrid.HTMLSortDESCLink= "" 'HTML to display inside sort descending link
objNDBrowseGrid.HTMLFilterLink= ""
intcountgrids = 1
cat.ActiveConnection = objForm.ADOConnection
'check for foreign keys field
if strPKTables <> "" Then '*
homefield = ""
fkrelatedfield = ""
arrPKTables = split(strPKTables,",") '*
set tblcat = cat.Tables(strSQLTName)
for each elePKName in arrPKTables
set keytblcat = tblcat.Keys(elePKName)
if keytblcat.type = 2 Then
if fkrelatedfield = "" then
For each colkeytblcat in keytblcat.Columns
if keytblcat.RelatedTable <> "" THen
prevcolumn = ""
if homefield = "" then
homefield = colkeytblcat.Name
fkrelatedfield =colkeytblcat.RelatedColumn
Elseif prevcolumn <> homefield then
homefield = homefield & "," & colkeytblcat.Name
fkrelatedfield = fkrelatedfield & "," &colkeytblcat.RelatedColumn
End if
prevcolumn = colkeytblcat.Name
fkrelatedtable = keytblcat.RelatedTable
end if
next
End if
if fkRelatedTable <> "" Then
response.write ("<SPAN CLASS=Information>Related Record in <A HREF=""FreeBrowse.asp?sqlfrom_a=" & server.urlencode(fkRelatedTable) & "&")
for each tQS in Request.Querystring
if UCASE(tQS) <> "SQLID" AND UCASE(tQS) <> "SQLFROM" AND UCASE(tQS) <> "NDBTNDELETE" AND UCASE(tQS) <> "SQLFROM_A" AND UCASE(tQS) <> "SQLORDERBY_A" AND UCASE(tQS) <> "SQLWHERE_A" AND UCASE(tQS) <> "SQLGROUPBY_A" AND UCASE(tQS) <> "SQLHAVING_A" and UCASE(tQS) <> "ACTION" and UCASE(tQS) <> "SQLWHERE" Then
Response.write (tQS & "=" & Server.URLEncode(Request.Querystring(tQS)) & "&")
End if
next
Response.write ("""> " & fkRelatedTable & "</a></span><P>")
objNDBrowseGrid.SQLConnect = ndnscSQLConnect
objNDBrowseGrid.SQLUser = ndnscSQLUser
objNDBrowseGrid.SQLPass = ndnscSQLPass
objNDBrowseGrid.GridID = "Default" & intcountgrids
objNDBrowseGrid.SQLSelect = "*"
objNDBrowseGrid.SQLFrom = fkRelatedTable
objNDBrowseGrid.SQLSelectPK = ""
if instr(homefield,",") = 0 THen
Select Case objForm.ADORecordset.Fields(homefield).Type
Case 20, 14, 5, 131, 4, 2, 16, 21, 19, 18, 17, 3
'adBigInt, adDecimal, adDouble, adNumeric, adSingle, _
' adSmallInt, adTinyInt, adUnsignedBigInt, adUnsignedInt,
' adUnsignedSmallInt, adUnsignedTinyInt,adInteger
if isnull(objForm.ADORecordset.Fields(homefield).Value) Then
objNDBrowseGrid.SQLWhereExtra = "[" & fkrelatedfield & "] Is Null"
Else
objNDBrowseGrid.SQLWhereExtra = "[" & fkrelatedfield & "] =" & objForm.ADORecordset.Fields(homefield).Value
End if
Case Else
if isnull(objForm.ADORecordset.Fields(homefield).Value) Then
objNDBrowseGrid.SQLWhereExtra = "[" & fkrelatedfield & "] Is Null"
Else
objNDBrowseGrid.SQLWhereExtra = "[" & fkrelatedfield & "] ='" & Replace(objForm.ADORecordset.Fields(homefield).Value,"'","''") & "'"
End if
End Select
Else
objNDBrowseGrid.SQLWhereExtra = ""
arrhomefield = split (homefield,",")
arrfkrelatedfield = split(fkrelatedfield,",")
for intI = 0 to ubound (arrhomefield)
Select Case objForm.ADORecordset.Fields(arrhomefield(intI)).Type
Case 20, 14, 5, 131, 4, 2, 16, 21, 19, 18, 17, 3
'adBigInt, adDecimal, adDouble, adNumeric, adSingle, _
' adSmallInt, adTinyInt, adUnsignedBigInt, adUnsignedInt,
' adUnsignedSmallInt, adUnsignedTinyInt,adInteger
if isnull(objForm.ADORecordset.Fields(arrhomefield(intI)).Value) Then
objNDBrowseGrid.SQLWhereExtra = objNDBrowseGrid.SQLWhereExtra & "[" & arrfkrelatedfield(intI) & "] Is Null AND "
Else
objNDBrowseGrid.SQLWhereExtra = objNDBrowseGrid.SQLWhereExtra & "[" & arrfkrelatedfield(intI) & "] =" & objForm.ADORecordset.Fields(arrhomefield(intI)).Value & " AND "
End if
Case Else
if isnull(objForm.ADORecordset.Fields(arrhomefield(intI)).Value) Then
objNDBrowseGrid.SQLWhereExtra = objNDBrowseGrid.SQLWhereExtra & "[" & arrfkrelatedfield(intI) & "] Is Null AND "
Else
objNDBrowseGrid.SQLWhereExtra = objNDBrowseGrid.SQLWhereExtra & "[" & arrfkrelatedfield(intI) & "] ='" & Replace(objForm.ADORecordset.Fields(arrhomefield(intI)).Value,"'","''") & "'" & " AND "
End if
End Select
next
objNDBrowseGrid.SQLWhereExtra = left(objNDBrowseGrid.SQLWhereExtra,len(objNDBrowseGrid.SQLWhereExtra)-5)
End if
objNDBrowseGrid.AllowEdit = True
objNDBrowseGrid.AllowDelete = False
objNDBrowseGrid.AllowAdd = False
objNDBrowseGrid.AllowExport = False
objNDBrowseGrid.FormEdit = "FreeEdit.asp"
objNDBrowseGrid.SQLSelectID = -1
objNDBrowseGrid.SQLSelectPK = ""
objNDBrowseGrid.Open
objndBrowseGrid.Display("GRID")
Response.write ("<P>")
Response.flush
intcountgrids = intcountgrids + 1
homefield = ""
fkrelatedfield = ""
End if
Else 'not fkey
homefield = ""
fkrelatedfield = ""
End if
homefield = ""
fkrelatedfield = ""
next
End if
if strFKTables <> "" Then '*
homefield = ""
fkrelatedfield = ""
arrFKTables = split(strFKTables,",") '*
for each eleFKName in arrFKTables '*
set tblcat = cat.Tables(eleFKNAME)
for each keytblcat in tblcat.Keys
if keytblcat.type = 2 Then
For each colkeytblcat in keytblcat.Columns
if (keytblcat.RelatedTable) = strSQLTName Then
showrelated = true
fkrelatedtable = keytblcat.RelatedTable
if homefield = "" Then
homefield = colkeytblcat.Name
fkrelatedfield =colkeytblcat.relatedcolumn
Else
homefield = homefield & "," & colkeytblcat.Name
fkrelatedfield =fkrelatedfield & "," & colkeytblcat.relatedcolumn
End if
Else
showrelated = false
End if
next
if showrelated then
objNDBrowseGrid.SQLConnect = ndnscSQLConnect
objNDBrowseGrid.SQLUser = ndnscSQLUser
objNDBrowseGrid.SQLSelectPK = ""
objNDBrowseGrid.SQLPass = ndnscSQLPass
objNDBrowseGrid.GridID = "Default" & intcountgrids
objNDBrowseGrid.SQLSelect = "*"
objNDBrowseGrid.SQLFrom = CStr(tblCat.Name)
if instr(homefield,",") = 0 Then
If isnull(objForm.ADORecordset.Fields(fkrelatedfield).Value) THen
if (objForm.ADOConnection.provider ="Microsoft.Jet.OLEDB.4.0") Then
objNDBrowseGrid.SQLWhereExtra = "[" & homefield & "] Is Null"
Else
objNDBrowseGrid.SQLWhereExtra = """" & homefield & """ Is Null"
End if
Else
Select Case objForm.ADORecordset.Fields(fkrelatedfield).Type
Case 20, 14, 5, 131, 4, 2, 16, 21, 19, 18, 17, 3
'adBigInt, adDecimal, adDouble, adNumeric, adSingle, _
' adSmallInt, adTinyInt, adUnsignedBigInt, adUnsignedInt,
' adUnsignedSmallInt, adUnsignedTinyInt,adInteger
if (objForm.ADOConnection.provider ="Microsoft.Jet.OLEDB.4.0") Then
objNDBrowseGrid.SQLWhereExtra = "[" & homefield & "] = " & objForm.ADORecordset.Fields(fkrelatedfield).Value
Else
objNDBrowseGrid.SQLWhereExtra = """" & homefield & """ = " & objForm.ADORecordset.Fields(fkrelatedfield).Value
End if
Case Else
if (objForm.ADOConnection.provider ="Microsoft.Jet.OLEDB.4.0") Then
objNDBrowseGrid.SQLWhereExtra = "[" & homefield & "] ='" & Replace(objForm.ADORecordset.Fields(fkrelatedfield).Value,"'","''") & "'"
Else
objNDBrowseGrid.SQLWhereExtra = """" & homefield & """ ='" & Replace(objForm.ADORecordset.Fields(fkrelatedfield).Value,"'","''") & "'"
End if
End Select
End if
Else
arrhomefield = split (homefield,",")
arrfkrelatedfield = split(fkrelatedfield,",")
objNDBrowseGrid.SQLWhereExtra = ""
for intI = 0 to ubound (arrhomefield)
Select Case objForm.ADORecordset.Fields(arrfkrelatedfield(intI)).Type
Case 20, 14, 5, 131, 4, 2, 16, 21, 19, 18, 17, 3
'adBigInt, adDecimal, adDouble, adNumeric, adSingle, _
' adSmallInt, adTinyInt, adUnsignedBigInt, adUnsignedInt,
' adUnsignedSmallInt, adUnsignedTinyInt,adInteger
if (objForm.ADOConnection.provider ="Microsoft.Jet.OLEDB.4.0") Then
objNDBrowseGrid.SQLWhereExtra = objNDBrowseGrid.SQLWhereExtra & "[" & arrhomefield(intI) & "]"
if isnull(objForm.ADORecordset.Fields(arrfkrelatedfield(intI)).Value) Then
objNDBrowseGrid.SQLWhereExtra = objNDBrowseGrid.SQLWhereExtra & " Is Null AND "
Else
objNDBrowseGrid.SQLWhereExtra = objNDBrowseGrid.SQLWhereExtra & "=" & objForm.ADORecordset.Fields(arrfkrelatedfield(intI)).Value & " AND "
End if
Else
if isnull(objForm.ADORecordset.Fields(arrfkrelatedfield(intI)).Value) Then
objNDBrowseGrid.SQLWhereExtra = objNDBrowseGrid.SQLWhereExtra & """" & arrhomefield(intI) & """ Is Null AND "
Else
objNDBrowseGrid.SQLWhereExtra = objNDBrowseGrid.SQLWhereExtra & """" & arrhomefield(intI) & """ =" & objForm.ADORecordset.Fields(arrfkrelatedfield(intI)).Value & " AND "
End if
End if
Case Else
if (objForm.ADOConnection.provider ="Microsoft.Jet.OLEDB.4.0") Then
if isnull(objForm.ADORecordset.Fields(arrfkrelatedfield(intI)).Value) Then
objNDBrowseGrid.SQLWhereExtra = objNDBrowseGrid.SQLWhereExtra & "[" & arrhomefield(intI) & "] Is Null AND "
Else
objNDBrowseGrid.SQLWhereExtra = objNDBrowseGrid.SQLWhereExtra & "[" & arrhomefield(intI) & "] ='" & Replace(objForm.ADORecordset.Fields(arrfkrelatedfield(intI)).Value,"'","''") & "'" & " AND "
End if
Else
if isnull(objForm.ADORecordset.Fields(arrfkrelatedfield(intI)).Value) Then
objNDBrowseGrid.SQLWhereExtra = objNDBrowseGrid.SQLWhereExtra & """" & arrhomefield(intI) & """ = Is Null AND "
Else
objNDBrowseGrid.SQLWhereExtra = objNDBrowseGrid.SQLWhereExtra & """" & arrhomefield(intI) & """ ='" & Replace(objForm.ADORecordset.Fields(arrfkrelatedfield(intI)).Value,"'","''") & "'" & " AND "
End if
End if
End Select
next
objNDBrowseGrid.SQLWhereExtra = left(objNDBrowseGrid.SQLWhereExtra,len(objNDBrowseGrid.SQLWhereExtra)-5)
end if
objNDBrowseGrid.SQLPageSize = ""
objNDBrowseGrid.SQLPage = ""
objNDBrowseGrid.AllowEdit = True
if not ocdReadOnly Then
objNDBrowseGrid.AllowDelete = True
Else
objNDBrowseGrid.AllowDelete = True
End if
objNDBrowseGrid.AllowAdd = True
objNDBrowseGrid.SQLSelectID = -1
objNDBrowseGrid.SQLSelectPK = ""
objNDBrowseGrid.FormEdit = "FreeEdit.asp"
objNDBrowseGrid.Open
response.write ("<SPAN CLASS=Information>")
response.write objNDBrowseGrid.SQLRecordCount
response.write (" Related Records in <A HREF=""FreeBrowse.asp?sqlfrom_a=" & server.urlencode(tblcat.name) & "&" )
for each tQS in Request.Querystring
if UCASE(tQS) <> "SQLID" AND UCASE(tQS) <> "SQLFROM" AND UCASE(tQS) <> "NDBTNDELETE" AND UCASE(tQS) <> "SQLFROM_A" AND UCASE(tQS) <> "SQLORDERBY_A" AND UCASE(tQS) <> "SQLWHERE_A" AND UCASE(tQS) <> "SQLGROUPBY_A" AND UCASE(tQS) <> "SQLHAVING_A" and UCASE(tQS) <> "ACTION" and UCASE(tQS) <> "SQLWHERE" Then
Response.write (tQS & "=" & Server.URLEncode(Request.Querystring(tQS)) & "&")
End if
next
Response.write ( """>")
Response.write (tblcat.name & "</A></span><BR>")
objndBrowseGrid.Display ("BUTTONS")
objndBrowseGrid.Display ("GRID")
response.write ("<P>")
Response.flush
intcountgrids = intcountgrids + 1
homefield = ""
fkrelatedfield = ""
end if
Else 'not fkey
homefield = ""
fkrelatedfield = ""
End if
next
next
end if
set objNDBrowseGrid = nothing
set tblcat = nothing
set keytblcat = nothing
set cat = nothing
End if'adox catalog not created
end if
end select
End if 'check if related records should be displayed
'response.write objForm.SQLID
objForm.Close()
call writefooter("")
%>