Click here to load reader
Upload
vocong
View
339
Download
5
Embed Size (px)
Citation preview
ACCESSVBA
ACCESS-VBA
ACCESSVBA.
acBoundObjectFrame
acCheckBox
acComboBox
acCommandButton
acCustomControl ActiveX
acImage
acLabel
acLine
acListBox
acObjectFrame
acOptionButton
acOptionGroup
acPage
acPageBreak
acRectangle
acSubform /
acTabCtl
acTextBox
acToggleButton
VB
! ID
Forms![]![ID]
Forms![]![]![]
Dim intFormControls As Integer
Dim intReportControls As Integer
intFormControls = Forms!Employees.Count
intReportControls = Reports!FreightCharges.Count
Dim i, ii As Integer
For ii = 3 To 10
Me.Controls.Item(ii).Visible = True
Next
For i = 11 To 22
Me.Controls.Item(i).Visible = False
Next
VBA
For i = 27 To 47
If Me.Controls.Item(i).Name Like "A*" Then
Me.Controls.Item(i).Visible = False
End If
Next
Enabled
me..Enabled = true'
=false'
locked
me..Locked = true
me..Locked = false
Me..Caption = ""
Me.LabelColor =200
txt
Private Sub txt_GotFocus()
Me.txt.BackColor = 12632256
End Sub
12632256
Private Sub txt_LostFocus()
Me.txt.BackColor = 16777215
End Sub
TimerInterval 1000 (1).
forms OnTimer :
Sub Form_Timer()
YourTextLabel.Visible = Not YourTextLabel.Visible
End_Sub
Me.Label1.ForeColor =
Me.TextColor = 300
Me.TextFontColor = 500
Me.Label2.Left = 2200
Me..Top = 8290
Me. .Left = 100
/
Me..Width = 10000
Me..Height = 1000
Me.Label2.FontWeight = 20000
Me.Label2.BorderColor = 0
BorderStyle
0
1
2
3
4
5
6
7 --
8
BorderWidth
016
BackStyle
True False
Me._.Locked = False '
!
:
Private Sub Form_Open(Cancel As Integer)Dim ctl As Access.ControlFor Each ctl In Me.ControlsDebug.Print ctl.Name & ctl.ControlTypeIf ctl.ControlType = acTextBox Thenctl.IMEMode = 2End IfNextEnd Sub
copy
me.[] me.[].column(n) n=0n=1
0 1 0 1 ID
Forms!Contacts!Customers.Column(1, 4)
Column ControlSource
=Forms!Customers!CompanyName.Column(1)
Column Null IsNull
If IsNull(Forms!Customers!Country)
Then MsgBox "No selection."
End If
Name
ctl As Control
Set ctl = Screen.ActiveControl
MsgBox ctl.Name
TimerTimer1,Inteval=200*APIPrivateDeclareFunctionFlashWindowLib"user32"(ByValhwndAsLong,ByValbInvertAsLong)AsLong:PrivateSubTimer1_Timer()FlashWindowMe.hwnd,TrueEndSub
windows
Microsoft Media Player
FileName:AutoStrat:AutoRevind:
AutoRepeat
True False
me.visible=false
'
me.AllowAdditions=True
'
me.RecordLocks=1
AutoCenter=True,False
AutoResize=True,False
me.BorderStyle=1 :
1
2
3
4
Me.Section(0).BackColor = 200
Me.Section(1).BackColor = 200
Me.Section(2).BackColor = 200
me.Caption="ACCESS" :"ACCESS"()
me.CloseButton=True
:true: False:
me.ControlBox=True
:true: False:
me.DefaultView=0
:0:1:2:
vba/
Me.RowHeight = 800
Me..Form.Controls("").ColumnWidth = 400
me.DividingLines=True
:true: False:
:me.LayoutForPrint=True
:true: False:
:me.MinMaxButtons=0
:0: 1: 2: 3:
:me.NavigationButtons=True
:true: False:
me.ScrollBars=0
:0: 1: 2:3:
/
me.AllowAdditions=True/False
/
me.AllowDeletions=True/False
/
me.AllowEdits=True/False
DataEntry DataEntry Boolean /
True False
/
me.AllowFilters=True/False
Filter=""
/
FilterOn=True/False
MyForm BackColor ColorCode
QBColor MyForm BackColor ColorCode QBColor 0 15
Sub ChangeBackColor (ColorCode As Integer, MyForm As Form)
MyForm.BackColor = QBColor(ColorCode)
End Sub
Private Sub Form_Load()
DoCmd.Echo False
Dim x, y As Integer
DoCmd.Maximize
x = Me.WindowWidth
y = Me.WindowHeight
DoCmd.Restore
DoCmd.Echo True
Move (x - Me.WindowWidth) / 2, (y - Me.WindowHeight) / 2
End Sub
[]
Table!!.ColumnHidden = -1
Name
ActiveForm Screen
Dim dqhdct As Form
Set dqhdct = Screen.ActiveForm
MsgBox dqhdct.Name
Function IsLoaded(strName As String, Optional intObjectType As Integer =
acForm)
IsLoaded = (SysCmd(acSysCmdGetObjectState, intObjectType, strName) 0)
End Function
IsLoaded AccessObjectBoolean If CurrentProject.AllForms("frmMain").IsLoaded = True ThenForms!frmMain.Form.Visible = FalseEnd If
Private Sub _NotInList(NewData As String, Response As Integer)
Response = acDataErrContinue
If MsgBox("", 68, "") = 6 Then
Me![] = Null
DoCmd.GoToControl ""
DoCmd.OpenForm "", , , , acAdd, acNormal
Else
Me![] = Null
Me![].Dropdown
End If
End Sub
Private Sub _GotFocus()
Me![].Requery
End Sub
*APIDeclareFunctionSetWindowPosLib"user32"(ByValhwndAsLong,ByValhWndInsertAfterAsLong,ByValxAsLong,ByValyAsLong,ByValcxAsLong,ByValcyAsLong,ByValwFlagsAsLong)AsLongPrivateConstSWP_NOSIZE=&H1PrivateConstSWP_NOMOVE=&H2PrivateConstHWND_TOPMOST=-1PrivateConstHWND_NOTOPMOST=-2formSetWindowPosme.hWnd,WND_TOPMOST,0,0,0,0,SWP_NOMOVESetWindowPosme.hWnd,WND_TOPMOST,0,0,0,0,SWP_NOSIZE
""
Me.graphnow.Object.ChartType = xlColumnClustered
""
Me.graphnow.Object.ChartType = xlLineMarkers
""
Me.graphnow.Object.ChartType = xl3DPie
""
Me.graphnow.Object.ChartType = xlBarClustered
xlColumnClusteredxl3DColumnClusteredxlColumnStackedxl3DColumnStackedxlColumnStacked100xl3DColumnStacked100xl3DColumnxlBarClusteredxl3DBarClusteredxlBarStackedxl3DBarStackedxlBarStacked100xl3DBarStacked100xlLinexlLineMarkersxlLineStackedxlLineMarkersStackedxlLineStacked100xlLIneMarkersStacked100xl3DLinexlPiexlPieExplodedxl3Dpiexl3DPieExplodedxlPieOfPiexlBarOfPieXY()xlXYScatterxlXYScatterSmoothxlXYScatterSmoothNoMarkersxlXYScatterLinesxlXYScatterLinesNoMarkersxlBubblexlBubble3DEffectxlAreaxl3DAreaxlAreaStackedxl3DAreaStackedxlAreaStacked100xl3DAreaStacked100xlDoughnutxlDoughnutExplodedxlRadarxlRadarMarkersxlRadarFilledxlSurfacexlSurfaceTopViewxlSurfaceWireframexlSurfaceTopViewWireframe--xlStockHLC---xlStockVHLC---xlStockOHLC----xlStockVOHLCxlCylinderColClusteredxlCylinderBarClusteredxlCylinderColStackedxlCylinderBarStackedxlCylinderColStacked100xlCylinderBarStacked100xlCylinderColxlConeColClusteredxlConeBarClusteredxlConeColStackedxlConeBarStackedxlConeColStacked100xlConeBarStacked100xlConeColxlPyramidColClusteredxlPyramidBarClusteredxlPyramidColStackedxlPyramidBarStackedxlPyramidColStacked100xlPyramidBarStacked100Color
Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Declare Function ReleaseCapture Lib "user32" () As Long
Public Const WM_NCLBUTTONDOWN = &HA1
Public Const HTCAPTION = 2
Private Sub Form_Close()
DoCmd.RunCommand acCmdAppMaximize
End Sub
Private Sub Form_Load()
DoCmd.RunCommand acCmdAppMinimize
End Sub
Private Sub XPForm_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 1 Then
ReleaseCapture
SendMessage Me.hwnd, WM_NCLBUTTONDOWN, HTCAPTION, 0&
End If
End Sub
Private Sub 20_Click()
DoCmd.Close
End Sub
*APIDeclareFunctionReleaseCaptureLib"user32"()AsLongDeclareFunctionSendMessageLib"user32"Alias"SendMessageA"(ByValhwndAsLong,ByValwMsgAsLong,ByValwParamAsLong,lParamAsAny)AsLongPublicConstHTCAPTION=2PublicConstWM_NCLBUTTONDOWN=&HA1Form_MouseDownPrivateSubForm_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)ReleaseCaptureSendMessagehwnd,WM_NCLBUTTONDOWN,HTCAPTION,0&EndSub
2003.08.04 2003-08-04
cdate(replace("2003.08.04",".","-"))
=Format(Now(), "ww")
ww 1 53
=DatePart"yyyy", []
10
=DateAdd"y", -10, []
=DateAdd("m",-1,Date())
12
=DateDiff"d", [], []
Betweeb date() and adddate(3,date())
=IIf(Month(Date())-Month([])>-1,Year(Date())-Year([]),Year(Date())-Year([])-1)
/ (Format )
(:)
(/)
C ddddd ttttt
D
(131)
Dd
(0131)
ddd
(SunSat)
dddd
(SundaySaturday)
ddddd
m/d/yy
dddddd
mmmm dd, yyyy
aaaa
dddd
W
1 ~ 7
ww
(154)
M
(112) m h hh
mm
(0112)mhhh
mmm
(JanDec)
mmmm
(JanuaryDecember)
oooo
mmmm
Q
(14)
Y
(1366)
Yy
(0099)
yyyy
(0099)
H
(023)
Hh
(0023)
N
(0 59)
Nn
(00 59)
S
(0 59)
Ss
(00 59)
t t t t t
10:00 A.M. P.M. h:mm:ss
AM/PM
12 AM 11:59 P.M. 12 PM
Am/pm
12 am 11:59 P.M. 12 pm
A/P
12 A 11:59 P.M.12 P
a/p
12 a 11:59 P.M. 12 p
AMPM
12 AM 11:59 P.M. 12 PM AMPM AM/PM
=Date()
=Day(date)
=Month(date())
=Year(date())
=DatePart("q",Date())
Function Date2Chinese(iDate)
Dim num(10)
Dim iYear
Dim iMonth
Dim iDay
num(0) = ""
num(1) = ""
num(2) = ""
num(3) = ""
num(4) = ""
num(5) = ""
num(6) = ""
num(7) = ""
num(8) = ""
num(9) = ""
iYear = Year(iDate)
iMonth = Month(iDate)
iDay = Day(iDate)
Date2Chinese = num(iYear \ 1000) + _
num((iYear \ 100) Mod 10) + num((iYear _
\ 10) Mod 10) + num(iYear Mod _
10) + ""
If iMonth >= 10 Then
If iMonth = 10 Then
Date2Chinese = Date2Chinese + _
"" + ""
Else
Date2Chinese = Date2Chinese + _
"" + num(iMonth Mod 10) + ""
End If
Else
Date2Chinese = Date2Chinese + _
num(iMonth Mod 10) + ""
End If
If iDay >= 10 Then
If iDay = 10 Then
Date2Chinese = Date2Chinese + _
"" + ""
ElseIf iDay = 20 Or iDay = 30 Then
Date2Chinese = Date2Chinese + _
num(iDay \ 10) + "" + ""
ElseIf iDay > 20 Then
Date2Chinese = Date2Chinese + _
num(iDay \ 10) + "" + _
num(iDay Mod 10) + ""
Else
Date2Chinese = Date2Chinese + _
"" + num(iDay Mod 10) + ""
End If
Else
Date2Chinese = Date2Chinese + _
num(iDay Mod 10) + ""
End If
End Function
Dim a, b, c
a = Year(Now())
b = Month(Now())
c = Format((a & "/" & b + 1 & "/1"), "######") - Format((a & "/" & b & "/1"), "######")
DateDiff("d", Format(Date, "yyyy-mm-01"), Format(DateAdd("m", -1, Date), "yyyy-mm-01"))
DateDiff
Day(DateAdd("d", -1, Format(Date, "yyyy-mm-01")))
dayDAY
Private Sub Command1_Click()Dim i As Integer, A As Integer, B As Integer, C As StringA = InputBox("", "")Form1.ClsFor i = 1 To 12C = A & "-" & i & "-1"B = Weekday(C)Select Case BCase vbSundayPrint A & "" & i & "1 "Case vbMondayPrint A & "" & i & "1 "Case vbTuesdayPrint A & "" & i & "1 "Case vbWednesdayPrint A & "" & i & "1 "Case vbThursdayPrint A & "" & i & "1 "Case vbFridayPrint A & "" & i & "1 "Case vbSaturdayPrint A & "" & i & "1 "End SelectNext i
End Sub
Function ( As Date) As Byte = DateSerial(Year(), Month() + 1, Day()) - End Function
Function ( As Date) As Date = DateSerial(Year(), Month() + 1, 1) - 1 End Function
Function ( As Date) As Date = - Day() + 1 End Function
SELECT
Weekday(DateAdd("m",1,DateSerial(Year(Date()),Month(Date()),1)-1)) AS ,
SELECT
Weekday(DateAdd("m",2,DateSerial(Year(Date()),Month(Date()),1)-1)) AS ,
5
SELECT
(Weekday(DateAdd("m",1,DateSerial(Year(Date()),Month(Date()),1)-1))+1) Mod 7 AS 5;
5
SELECT
(Weekday(DateAdd("m",2,DateSerial(Year(Date()),Month(Date()),1)-1))+1) Mod 7 AS 5;
5
SELECT
DateAdd("m",1,DateSerial(Year(Date()),Month(Date()),1))-1-(Weekday(DateAdd("m",1,DateSerial(Year(Date()),Month(Date()),1)-1))+1) Mod 7 AS 5;
5
SELECT
DateAdd("m",2,DateSerial(Year(Date()),Month(Date()),1))-1-(Weekday(DateAdd("m",2,DateSerial(Year(Date()),Month(Date()),1)-1))+1) Mod 7 AS 5;
ACCESS
ACCESSADO
Private Sub ABC_Click()Dim cn As New ADODB.ConnectionDim rs As New ADODB.Recordsetcn.OPEN "DSN=alwin;UID=;PWD=;"rs.OPEN "Select * from tbTABLE", cn, adOpenDynamic, adLockReadOnlyrs.ABC App.Path & "\testdata.dat", adPersistADTGrs.Closecn.CloseMsgBox ("OPERATION OK")End SubPrivate Sub OPEN_Click()Dim strConnect As StringstrConnect = "Provider=MSPersist"Dim rs As New ADODB.Recordsetrs.OPEN "http://IP/test/testdata.dat", strConnectDo While Not rs.EOFDebug.Print rs("USERID").valuers.MoveNextLoopEnd Sub
,!
!(),!!!! ADSL,!
,.,,,,,,(,,,),,!
1518
Function IDCode15to18(sCode15 As String) As String
'*:1518(GB 11643-1999)
'*:
'*:18
Dim i As Integer
Dim num As Integer
Dim code As String
num = 0
IDCode15to18 = Left(sCode15, 6) + "19" + Right(sCode15, 9)
'
For i = 18 To 2 Step -1
num = num + (2 ^ (i - 1) Mod 11) * (Mid(IDCode15to18, 19 - i, 1))
Next i
num = num Mod 11
Select Case num
Case 0
code = "1"
Case 1
code = "0"
Case 2
code = "X"
Case Else
code = Trim(Str(12 - num))
End Select
IDCode15to18 = IDCode15to18 + code
End Function
Dim Length As Integer
Length = Len(Me.[])
If Not IsNull(Length) Then
If Length = 15 Then
Me.[] = IIf(Val(Mid(Me., 15, 1)) / 2 = Int(Val(Mid(Me., 15, 1)) / 2), "", "")
Me.[] = "19" & Mid([], 7, 2) & "-" & Mid([], 9, 2) & "-" & Mid([], 11, 2)
ElseIf Length = 18 Then
Me.[] = IIf(Val(Mid(Me., 17, 1)) / 2 = Int(Val(Mid(Me., 17, 1)) / 2), "", "")
Me.[] = Mid([], 7, 4) & "-" & Mid([], 11, 2) & "-" & Mid([], 13, 2)
Else
MsgBox ""
End If
End If
PrivateSub4_Click()OnErrorGoToErr_4_ClickDimstrDbAsStringstrDb="C:\db1.mdb"
SendKeys"{F11}%FO"&strDb&"{enter}"
Exit_4_Click:ExitSub
Err_4_Click:MsgBoxErr.DescriptionResumeExit_4_ClickEndSub
Private Declare Function apiSetForegroundWindow Lib "user32" _
Alias "SetForegroundWindow" _
(ByVal hwnd As Long) _
As Long
Private Declare Function apiShowWindow Lib "user32" _
Alias "ShowWindow" _
(ByVal hwnd As Long, _
ByVal nCmdShow As Long) _
As Long
Private Const SW_MAXIMIZE = 3
Private Const SW_NORMAL = 1
Function fOpenRemoteReport(strMDB As String, strReport As String, _
Optional intView As Variant) _
As Boolean
' strMDB: ()
' strReport:
' intView:
Dim objAccess As Access.Application
Dim lngRet As Long
On Error GoTo fOpenRemoteReport_Err
If IsMissing(intView) Then intView = acViewPreview
If Len(Dir(strMDB)) > 0 Then
Set objAccess = New Access.Application
With objAccess
lngRet = apiSetForegroundWindow(.hWndAccessApp)
lngRet = apiShowWindow(.hWndAccessApp, SW_NORMAL)
' ShowWindow
lngRet = apiShowWindow(.hWndAccessApp, SW_NORMAL)
.OpenCurrentDatabase strMDB
.DoCmd.OpenReport strReport, intView
Do While Len(.CurrentDb.Name) > 0
DoEvents
Loop
End With
End If
fOpenRemoteReport_Exit:
On Error Resume Next
objAccess.Quit
Set objAccess = Nothing
Exit Function
fOpenRemoteReport_Err:
fOpenRemoteReport = False
Select Case Err.Number
Case 7866:
' mdb
MsgBox "" & strMDB & _
vbCrLf & "" & vbCrLf _
& vbCrLf & "", _
vbExclamation + vbOKOnly, ""
Case 2103:
'
MsgBox "" & strMDB & "" & strReport & _
vbCrLf & vbCrLf , _
vbExclamation + vbOKOnly, ""
Case 7952:
' mdb
fOpenRemoteReport = True
Case Else:
MsgBox "#: " & Err.Number & vbCrLf & Err.Description, _
vbCritical + vbOKOnly, ""
End Select
Resume fOpenRemoteReport_Exit
End Function
Dim str3 As String
str3 = "SELECT jhd_mx_jiage.wp_leibie AS , jhd_mx_jiage.wp_migceg AS , jhd_mx_jiage.wp_xighao AS , jhd_mx_jiage.jhmx_danwei AS , jhd_mx_jiage.jhmx_danjia AS FROM jhd_mx_jiage " & " where jhd_mx_jiage.wp_leibie='" & Listjhlb & "'"
Me.Listjhwp.RowSource = str3
Me.Listjhwp.Requery
RowSourceType Table/Query RowSource
Forms!Employees!cmboNames.RowSourceType = "Table/Query"
Forms!Employees!cmboNames.RowSource = "EmployeeList"
Dim str1 As String
str1 = "SELECT ziyuag.zy_daihao, ziyuag.zy_mima,ziyuag.zy_ziwu,ziyuag.zy_xigmig FROM ziyuag " & " where zy_daihao='" & Text8dldh & "'and zy_mima='" & Text10dlmm & "'"
Me.Child6zy.Form.RecordSource = str1
Me.Child6zy.Requery
.FORM.recordsourse="SELECT ziyuag.zy_daihao, ziyuag.zy_mima,ziyuag.zy_ziwu,ziyuag.zy_xigmig FROM ziyuag " & " where zy_daihao='" & Text8dldh & "'and zy_mima='" & Text10dlmm & "'"
Private Sub Command38_Click()
Dim sjy As String
Dim pd As Integer
pd = True
sjy = "SELECT .* FROM "
If Not IsNull(Text0) Then
If pd Then
sjy = sjy & " where like '" & Text0 & "'"
pd = False
Else
sjy = sjy & " and like '" & Text0 & "'"
End If
End If
If Not IsNull(Text1) And Not IsNull(Text2) Then
sjy = sjy & " where between #" & Text1 & "# and #" & Text2 & "#"
pd = False
Else
str2 = str2 & " and between #" & Text1 & "# and #" & Text2 & "#"
End If
If Not IsNull(Text3) Then
If pd Then
sjy = sjy & " where like '" & Text3 & "'"
pd = False
Else
sjy = sjy & " and like '" & Text3 & "'"
End If
End If
Me..RowSource = sjy
Me.Requery
End Sub
RecordSource String
Dim sjy As String
sjy = "SELECT .* FROM " & " where like '*" & List101 & "*'"
Me.RecordSource = sjy
Requery
me.RecordSource = ""
ACCESSACCESS
ACCESSTrynew
SqlMDBPrivateSubForm_Load()Me.RecordSource="SELECT1.*FROM["&CurrentProject.Path&"\db1.mdb"&"].1;"EndSub
DoCmd.RunCommand acCmdRecordsGoToNew
DoCmd.RunCommand acCmdDeleteRecord
.
:
:
PrivateSubFORM_BeforeUpdate(CancelAsInteger)IfMsgBox("?",vbYesNo,Me.Caption)vbYesThenCancel=TrueEndIfEndSub':PrivateSubFORM_Error(DataErrAsInteger,ResponseAsInteger)Response=acDataErrContinueEndSub
'=NoAllowSave()'allowSave=False'OptionCompareDatabaseOptionExplicitPublicallowSaveAsBooleanPublicFunctionNoAllowSave()allowSave=TrueEndFunctionIfallowSave=TrueThenIfMsgBox("",vbYesNo+vbQuestion,"...")=vbYesThenElseMe.UndoEndIfEndIfDoCmd.Close
Dim rst As New ADODB.Recordset
rst.Open "SELECT , FROM ", CurrentProject.Connection, adOpenKeyset, adLockOptimistic
Forms!aaa!bbb.Form!bb = Forms!aaa!ccc.Form!cc
Currentrecord Currentformrecord Lngrecordnum
Sub CurrentFormRecord(frm As Form)
Dim lngrecordnum As Long
lngrecordnum = frm.CurrentRecord 'CurrentRecord
End Sub
dlast("","")
lngbhID=Lngbh
DoCmd.OpenForm "formname", acNormal, , "ID =" & LNGBH, acFormEdit, acWindowNormal
APIsendmessage
Subgetcaretpos(byvalTextHwnd&,LineNo&,ColNo&)TextHwndTextBoxhWndLineNoColNodimI&,j&,k&I=SendMessage(TextHwnd,&HB0&,0,0)j=I/2^16LineNo=SendMessage(TextHwnd,&HC9&,j,0)+1k=SendMessage(TextHwnd,&HBB&,-1,0)ColNo=j-k+1Endsub
:DoCmd.RunCommand acCmdRecordsGoToNew
acCmdRecordsGoToFirst acCmdRecordsGoToLast acCmdRecordsGoToNew acCmdRecordsGoToNext acCmdRecordsGoToPrevious
ACCESSysfme.Recordset.AbsolutePosition=0'me.Recordset.AbsolutePosition=me.Recordset.RecordCount-1'me.Recordset.AbsolutePosition=-1'me.Recordset.bof=trueme.Recordset.AbsolutePosition=me.Recordset.RecordCount'me.Recordset.eof=trueme.Recordset.AbsolutePosition=n'n+1
me.newrecord=true
me.newrecord=false
=IIf(Left(Nz(DMax("[jhd_id]","jinhuodan",""),0),6)Format(Date(),"yyyymm"),Format(Date(),"yyyymm") & "001",Format(Date(),"yyyymm") & Format(Val(Right(Nz(DMax("[jhd_id]","jinhuodan",""),0),3))+1,"000"))
=nz(DLookUp("","","[id]=DMax('id','')"))+1
dim a,b
a=dmax("[]","")+1
b=format(date(),"yyyymm") & 00
if a>b then
me.=a
else:
me.=b+1
end if
Dim a As String
a = Nz(DMax("", "", ""), 0)
If Left(a, 6) Format(Date, "yyyymm") Then
= Format(Date, "yyyymm") & "01"
Else
= Format(Date, "yyyymm") & Format(Val(Right(a, 2)) + 1, "00")
End If
Dim id, date2 As String
date2 = "GF" & [] & Format([], "YYYYMM")
id = DMax("[rk]", "[]", "[rk] Like '" & date2 & "???'")
If IsNull(id) Then
Me.RK = date2 & "001"
Else
Me.RK = date2 & Format(CStr(CInt(Right(id, 3)) + 1), "000")
End If
Dim a, b, c
c = Format(Me., "yyyymm")
b = Nz(c, 0) * 1000
a = Nz(DMax("[]", "", "format(.,'yyyymm')=format([forms]![].[],'yyyymm')"), 0) + 1
If a > b Then
Me. = a
Else:
Me. = b + 1
End If
RightDMax1
RightDMaxFOO1
="REC-" & right(DMax("FOO", "FOOTable"), _
Len(DMax("FOO", "FOOTable")) - _
InStr(1, DMax("FOO", "FOOTable"), "-")) + 1
DMaxDefaultValueDMax
Private Sub SomeField_AfterUpdate()
Dim strMax as string
strMax =DMax("FOO", "FOOTable")
me!HiddenFooCtl = "REC-" & right(strMax, len(strMax) - Instr(1,strMax, "-")) +1
End Sub
Private Sub _Click()
DoCmd.GoToRecord , , acNewRec
End Sub
Option Compare Database
Option Explicit
' :: string = BrowseForFolders(Hwnd,TitleOfDialog)
' :String1 = BrowseForFolders(Hwnd, "")
Public Type BrowseInfo
hwndOwner As Long
pIDLRoot As Long
pszDisplayName As Long
lpszTitle As Long
ulFlags As Long
lpfnCallback As Long
lParam As Long
iImage As Long
End Type
Public Const BIF_RETURNONLYFSDIRS = 1
Public Const MAX_PATH = 260
Public Declare Sub CoTaskMemFree Lib "ole32.dll" (ByVal hMem As Long)
Public Declare Function lstrcat Lib "kernel32" Alias "lstrcatA" (ByVal lpString1 As String, ByVal lpString2 As String) As Long
Public Declare Function SHBrowseForFolder Lib "shell32" (lpbi As BrowseInfo) As Long
Public Declare Function SHGetPathFromIDList Lib "shell32" (ByVal pidList As Long, ByVal lpBuffer As String) As Long
Public Function BrowseForFolder(hwndOwner As Long, sPrompt As String) As String
Dim iNull As Integer
Dim lpIDList As Long
Dim lResult As Long
Dim sPath As String
Dim udtBI As BrowseInfo
'
With udtBI
.hwndOwner = hwndOwner
.lpszTitle = lstrcat(sPrompt, "")
.ulFlags = BIF_RETURNONLYFSDIRS
End With
' API
lpIDList = SHBrowseForFolder(udtBI)
If lpIDList Then
sPath = String$(MAX_PATH, 0)
lResult = SHGetPathFromIDList(lpIDList, sPath)
Call CoTaskMemFree(lpIDList)
iNull = InStr(sPath, vbNullChar)
If iNull Then sPath = Left$(sPath, iNull - 1)
End If
', sPath = ""
BrowseForFolder = sPath
End Function
= BrowseForFolder(Hwnd, "Select target folder...")
Global Const conDialogTitle = ""
Option Explicit ' Require variables to be declared before being used.
Option Compare Database ' Use database order for string comparisons.
Declare Function GetOpenFileName Lib "comdlg32.dll" Alias _
"GetOpenFileNameA" (pOpenfilename As OPENFILENAME) As Boolean
Declare Function GetSaveFileName Lib "comdlg32.dll" Alias _
"GetSaveFileNameA" (pOpenfilename As OPENFILENAME) As Boolean
Private Declare Function apiGetComputerName Lib "kernel32" Alias _
"GetComputerNameA" (ByVal lpBuffer As String, nSize As Long) As Long
Type MSA_OPENFILENAME
strFilter As String
lngFilterIndex As Long
strInitialDir As String
strInitialFile As String
strDialogTitle As String
strDefaultExtension As String
lngFlags As Long
strFullPathReturned As String
strFileNameReturned As String
intFileOffset As Integer
intFileExtension As Integer
End Type
Const ALLFILES = "All Files"
Type OPENFILENAME
lStructSize As Long
hwndOwner As Long
hInstance As Long
lpstrFilter As String
lpstrCustomFilter As Long
nMaxCustrFilter As Long
nFilterIndex As Long
lpstrFile As String
nMaxFile As Long
lpstrFileTitle As String
nMaxFileTitle As Long
lpstrInitialDir As String
lpstrTitle As String
Flags As Long
nFileOffset As Integer
nFileExtension As Integer
lpstrDefExt As String
lCustrData As Long
lpfnHook As Long
lpTemplateName As Long
End Type
Const OFN_ALLOWMULTISELECT = &H200
Const OFN_CREATEPROMPT = &H2000
Const OFN_EXPLORER = &H80000
Const OFN_FILEMUSTEXIST = &H1000
Const OFN_HIDEREADONLY = &H4
Const OFN_NOCHANGEDIR = &H8
Const OFN_NODEREFERENCELINKS = &H100000
Const OFN_NONETWORKBUTTON = &H20000
Const OFN_NOREADONLYRETURN = &H8000
Const OFN_NOVALIDATE = &H100
Const OFN_OVERWRITEPROMPT = &H2
Const OFN_PATHMUSTEXIST = &H800
Const OFN_READONLY = &H1
Const OFN_SHOWHELP = &H10
Function MSA_CreateFilterString(ParamArray varFilt() As Variant) As String
Dim strFilter As String
Dim intRet As Integer
Dim intNum As Integer
intNum = UBound(varFilt)
If (intNum -1) Then
For intRet = 0 To intNum
strFilter = strFilter & varFilt(intRet) & vbNullChar
Next
If intNum Mod 2 = 0 Then
strFilter = strFilter & "*.*" & vbNullChar
End If
strFilter = strFilter & vbNullChar
Else
strFilter = ""
End If
MSA_CreateFilterString = strFilter
End Function
Function MSA_ConvertFilterString(strFilterIn As String) As String
Dim strFilter As String
Dim intNum As Integer, intPos As Integer, intLastPos As Integer
strFilter = ""
intNum = 0
intPos = 1
intLastPos = 1
Do
intPos = InStr(intLastPos, strFilterIn, "|")
If (intPos > intLastPos) Then
strFilter = strFilter & Mid(strFilterIn, intLastPos, intPos - intLastPos) & vbNullChar
intNum = intNum + 1
intLastPos = intPos + 1
ElseIf (intPos = intLastPos) Then
intLastPos = intPos + 1
End If
Loop Until (intPos = 0)
intPos = Len(strFilterIn)
If (intPos >= intLastPos) Then
strFilter = strFilter & Mid(strFilterIn, intLastPos, intPos - intLastPos + 1) & vbNullChar
intNum = intNum + 1
End If
If intNum Mod 2 = 1 Then
strFilter = strFilter & "*.*" & vbNullChar
End If
If strFilter "" Then
strFilter = strFilter & vbNullChar
End If
MSA_ConvertFilterString = strFilter
End Function
Private Function MSA_GetSaveFileName(msaof As MSA_OPENFILENAME) As Integer
Dim of As OPENFILENAME
Dim intRet As Integer
MSAOF_to_OF msaof, of
of.Flags = of.Flags Or OFN_HIDEREADONLY
intRet = GetSaveFileName(of)
If intRet Then
OF_to_MSAOF of, msaof
End If
MSA_GetSaveFileName = intRet
End Function
Function MSA_SimpleGetSaveFileName() As String
Dim msaof As MSA_OPENFILENAME
Dim intRet As Integer
Dim strRet As String
intRet = MSA_GetSaveFileName(msaof)
If intRet Then
strRet = msaof.strFullPathReturned
End If
MSA_SimpleGetSaveFileName = strRet
End Function
Private Function MSA_GetOpenFileName(msaof As MSA_OPENFILENAME) As Integer
Dim of As OPENFILENAME
Dim intRet As Integer
MSAOF_to_OF msaof, of
intRet = GetOpenFileName(of)
If intRet Then
OF_to_MSAOF of, msaof
End If
MSA_GetOpenFileName = intRet
End Function
Function MSA_SimpleGetOpenFileName() As String
Dim msaof As MSA_OPENFILENAME
Dim intRet As Integer
Dim strRet As String
intRet = MSA_GetOpenFileName(msaof)
If intRet Then
strRet = msaof.strFullPathReturned
End If
MSA_SimpleGetOpenFileName = strRet
End Function
Private Sub OF_to_MSAOF(of As OPENFILENAME, msaof As MSA_OPENFILENAME)
msaof.strFullPathReturned = left(of.lpstrFile, InStrB(of.lpstrFile, vbNullChar) - 1)
msaof.strFileNameReturned = of.lpstrFileTitle
msaof.intFileOffset = of.nFileOffset
msaof.intFileExtension = of.nFileExtension
End Sub
Private Sub MSAOF_to_OF(msaof As MSA_OPENFILENAME, of As OPENFILENAME)
Dim strFile As String * 512
of.hwndOwner = Application.hWndAccessApp
of.hInstance = 0
of.lpstrCustomFilter = 0
of.nMaxCustrFilter = 0
of.lpfnHook = 0
of.lpTemplateName = 0
of.lCustrData = 0
If msaof.strFilter = "" Then
of.lpstrFilter = MSA_CreateFilterString(ALLFILES)
Else
of.lpstrFilter = msaof.strFilter
End If
of.nFilterIndex = msaof.lngFilterIndex
of.lpstrFile = msaof.strInitialFile _
& String(512 - Len(msaof.strInitialFile), 0)
of.nMaxFile = 511
of.lpstrFileTitle = String(512, 0)
of.nMaxFileTitle = 511
of.lpstrTitle = msaof.strDialogTitle
of.lpstrInitialDir = msaof.strInitialDir
of.lpstrDefExt = msaof.strDefaultExtension
of.Flags = msaof.lngFlags
of.lStructSize = Len(of)
End Sub
Function FindNorthwind(strSearchPath) As String
Dim msaof As MSA_OPENFILENAME
msaof.strDialogTitle = conDialogTitle
msaof.strInitialDir = strSearchPath
msaof.strFilter = MSA_CreateFilterString("Databases", "*.*")
MSA_GetOpenFileName msaof
FindNorthwind = Trim(msaof.strFullPathReturned)
End Function
Function MSAMachineName() As String
Dim lngLen As Long, lngx As Long
Dim strCompName As String
lngLen = 16
strCompName = String$(lngLen, 0)
lngx = apiGetComputerName(strCompName, lngLen)
If lngx 0 Then
MSAMachineName = left$(strCompName, lngLen)
Else
MSAMachineName = ""
End If
End Function
Private Sub Command43_Click()
Dim strFileName As String
strFileName = FindNorthwind("C:\")
MsgBox strFileName
End Sub
1.
= CurrentProject.Path
2.
Dim DBLongname, DBName, DBDir As StringDBLongname = CodeDb.NameDBName = Dir(DBLongname)DBDir = Left(DBLongname, Len(DBLongname) - Len(DBName))MsgBox "" & DBDir
'ResultFlag=0'ResultFlag=1'ResultFlag=2Public Function SplitPath(FullPath As String, ResultFlag As Integer) As StringDim SplitPos As Integer, DotPos As IntegerSplitPos = InStrRev(FullPath, "\")DotPos = InStrRev(FullPath, ".")Select Case ResultFlag Case 0 SplitPath = Left(FullPath, SplitPos - 1) Case 1 If DotPos = 0 Then DotPos = Len(FullPath) + 1 SplitPath = Mid(FullPath, SplitPos + 1, DotPos - SplitPos - 1) Case 2 If DotPos = 0 Then DotPos = Len(FullPath) SplitPath = Mid(FullPath, DotPos + 1) Case Else Err.Raise vbObjectError + 1, "SplitPath Function", "Invalid Parameter!"End SelectEnd Function
1bmpOLE2
If Dir(Application.CurrentProject.Path & "\img\" & Me!ID & ".jpg") "" Then
Me!.Picture = Application.CurrentProject.Path & "\img\" & Me!ID & ".jpg"
Else
Me!.Picture = Application.CurrentProject.Path & "\img\0.jpg"
End If
EXECL
DoCmd.TransferSpreadsheet acExport, 8, "" & Text0 & "", "A:\" & Text0 & ".xls", True, ""
6
*APIPrivateDeclareFunctionShellExecuteLib"shell32.dll"Alias"ShellExecuteA"(ByValhWndAsLong,ByVallpOperationAsString,ByVallpFileAsString,ByVallpParametersAsString,ByVallpDirectoryAsString,ByValnShowCmdAsLong)AsLongShellExecute0,"open","http://tyvb.126.com";,vbNullString,vbNullString,3ShellExecutehwnd,"open","mailto:[email protected]",vbNullString,vbNullString,0
ACCESS
ADO
subhide_table()DimcnnAsNewADODB.ConnectionDimcatAsNewADOX.Catalog
Setcat.ActiveConnection=CurrentProject.ConnectionDimtblAsADOX.TableDimproAsPropertyForEachtblIncat.TablesDebug.Printtbl.nameForEachproIntbl.PropertiesDebug.Printpro.name&"="&pro.valueNextIftbl.name=""Thentbl.Properties.Item("JetOLEDB:TableHiddenInAccess")=TrueNextEndSub
mdb
DoCmd.DeleteObjectacTable,""mdb
SubsbDeleteAllTables()
DimdbAsDatabaseDimtdAsTableDefSetdb=OpenDatabase("D:\DocumentsandSettings\GGLDD\MyDocuments\db1.mdb")ForEachtdIndb.TableDefsIf(td.AttributesAnddbSystemObject)=0Then'db.Execute"DROPTABLE"&td.Name&";"EndIfNextdb.TableDefs.RefreshSettd=NothingSetdb=NothingEndSub
VBA
ALTER COLUMN ()
alter table alter column
, ZipCode10
CurrentDb.Execute "ALTER TABLE ALTER COLUMN sz TEXT(22)"
CurrentDb.Execute "ALTER TABLE ALTER COLUMN sz BIT"
CurrentDb.Execute "ALTER TABLE ALTER COLUMN sz date"
CurrentDb.Execute "ALTER TABLE ALTER COLUMN sz memo"
money 8 922,337,203,685,477.5808 922,337,203,685,477.5807
real 4 3.402823e38 1.401298e-451.401298e-45 3.402823e38 0
float 8 1.79769313486232e308 4.94065645841247e-324 4.94065645841247e-324 1.79769313486232e308 0
smallint 2 32,768 32,767 integer 4 2,147,483,648 2,147,483,647
decimal 17 1028 - 1 - 1028 - 1. (1 - 28) (0 - )180
CurrentDb.Execute "Alter Table Add Column Char(2)"
CurrentDb.Execute "Alter Table Add Column 1 BIT"
sqlaccess911.net
FunctionAddPrimaryKey()'[]DimstrSQLAsStringstrSQL="ALTERTABLE1ADDCONSTRAINTPRIMARY_KEY"_&"PRIMARYKEY()"CurrentProject.Connection.ExecutestrSQLEndFunction
FunctionDropPrimaryKey()'DimstrSQLAsStringstrSQL="ALTERTABLE1DropCONSTRAINTPRIMARY_KEY"CurrentProject.Connection.ExecutestrSQLEndFunction
VBA
gglddqccdc
SubCreateRelationX()
DimrelNewAsRelation
WithCurrentDbSetrelNew=.CreateRelation("21ID","2","1",dbRelationDontEnforce+dbRelationUnique)'dbRelationUnique)relNew.Fields.AppendrelNew.CreateField("ID")relNew.Fields!ID.ForeignName="".Relations.AppendrelNew.CloseEndWith
EndSub
ADO
ACCESSDimappAccessAsADODB.ConnectionDimstrCn,tempAsStringDimcatAsADOX.CatalogDimrstEmployeesAsADODB.RecordsetDimintloopAsIntegerDimtbl1,tblEmpAsADOX.TableDimidxAsADOX.IndexstrCn="provider=microsoft.jet.oledb.4.0;password=;userid=admin;datasource="_&"C:\ProgramFiles\zhanyexing\123.mdb;JetOLEDB:DatabasePassword="
SetappAccess=NewADODB.ConnectionappAccess.OpenstrCnSetcat=NewADOX.Catalogcat.ActiveConnection=appAccessPassword=
ALEX
application.CurrentProject.Pathapplication.CurrentProject.Path+"\link\abc.mdb"linkABC.MDB
Private Sub Command0_Click()
Dim cat As ADOX.Catalog
Dim tdf As ADOX.Table
Me.txtDBnewNAME.SetFocus
Set cat = New ADOX.Catalog
Set cat.ActiveConnection = CurrentProject.Connection
Set tdf = cat.Tables("mytable")
tdf.Properties("jet oledb:link datasource")=Me.txtDBnewNAME.Text
End Sub
ADP,
MSDNADPADP
Public Function sCreateConnection(sSvrName As String, sUID As String, sPWD As String, sDatabase As String) As String'ADP':sSvrName sUID sPWD sDatabase MSDE
':
On Error GoTo sCreateConnectionTrap:
If Application.CurrentProject.BaseConnectionString = "" Then'ADPsConnectionString = "PROVIDER=SQLOLEDB.1;PASSWORD=" & sPWD _& ";PERSIST SECURITY INFO=TRUE;USER ID=" & sUID & "; _INITIAL CATALOG=" & sDatabase & ";DATA SOURCE=" & sSvrNameApplication.CurrentProject.OpenConnection sConnectionStringsCreateConnection = " " & sDatabase & " !"Else 'sCreateConnection = " " & sDatabase & " !"End If
sCreateConnectionExit:Exit Function
sCreateConnectionTrap:sCreateConnection = Err.DescriptionResume sCreateConnectionExit
End Function
ADP ,Sub MakeADPConnectionless()
Application.CurrentProject.CloseConnection 'Application.CurrentProject.OpenConnection '
End Sub
kevindeng
AccxpletterAlex
frontBase.mdb
backData.mdb
frontBasetbl1,tbl2,tbl3,backData.mdb
tbl1
PublicFunctionCheckLinks()AsBoolean
'True
DimdbsAsDatabase,rstAsDAO.Recordset
Setdbs=CurrentDb()
'
OnErrorResumeNext
Setrst=dbs.OpenRecordset(tbl1)
rst.Close
'True
IfErr=0Then
CheckLinks=True
Else
CheckLinks=False
EndIf
EndFunction
PrivateSubFORM_Load()
IfCheckLinks=Falsethen
Docmd.OpenFORMfrmConnect
EndIf
EndSub
frmConnect
[img]f:\m.bmp[/img]
API
DeclareFunctionGetOpenFileNameLib"comdlg32.dll"Alias"GetOpenFileNameA"(pOpenfilenameAsOPENFILENAME)AsBoolean
TypeOPENFILENAME
lStructSizeAsLong
hwndOwnerAsLong
hInstanceAsLong
lpstrFilterAsString
lpstrCustomFilterAsString
nMaxCustFilterAsLong
nFilterIndexAsLong
lpstrFileAsString
nMaxFileAsLong
lpstrFileTitleAsString
nMaxFileTitleAsLong
lpstrInitialDirAsString
lpstrTitleAsString
flagsAsLong
nFileOffsetAsInteger
nFileExtensionAsInteger
lpstrDefExtAsString
lCustDataAsLong
lpfnHookAsLong
lpTemplateNameAsString
EndType
PrivateSubFileOpen_Click()
DimofnAsOPENFILENAME
DimrtnAsString
ofn.lStructSize=Len(ofn)
ofn.hwndOwner=Me.hwnd
ofn.lpstrFilter="(*.mdb)"&vbNullChar&"*.mdb"
ofn.lpstrFile=Space(254)
ofn.nMaxFile=255
ofn.lpstrFileTitle=Space(254)
ofn.nMaxFileTitle=255
ofn.lpstrInitialDir=CurrentProject.Path
ofn.lpstrTitle=""
ofn.flags=6148
rtn=GetOpenFileName(ofn)
FileName.SetFocus
Ifrtn=TrueThen
FileName.Text=ofn.lpstrFile
FileName.Text=FileName.Text
OK.Enabled=True
Else
FileName.Text=""
EndIf
EndSub
PrivateSubOK_Click()
DimtabDefAsTableDef
ForEachtabDefInCurrentDb.TableDefs
IfLen(tabDef.Connect)>0Then
tabDef.Connect=";DATABASE="&Me.FileName.Text&";PWD="+
tabDef.RefreshLink
EndIf
Next
MsgBox""
DoCmd.CloseacFORM,Me.Name
EndSub
1CurrentDb().Execute"delete*from"
2docmd.runsql"SQL"
3RunSQL "Delete * From "
VB
For I = 1 To 20
SQL = "DELETE ID FROM WHERE ID=" & I
DoCmd.RunSQL SQL
Next
CurrentProject.Connection.Execute "DELETE * FROM"
VBAExcelAccess
Private Sub Command0_Click()
DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, "temp", "c:\temp.xls", yes
End Sub
SQL--JOINACCESS
FROM
LEFTJOINLEFTOUTERJOINLEFTOUTER
RIGHTJOINRIGHTOUTERJOIN
FULLJOINFULLOUTERJOIN
FROMWHEREHAVING
MicrosoftSQLServer2000FROMSQL-92
LEFTOUTERJOINLEFTJOIN
RIGHTOUTERJOINRIGHTJOIN
FULLOUTERJOINFULLJOINSQLServerSQL-92WHERE*==*SQL-92Transact-SQLSQL-92
cityauthorspublishersAbrahamBennetCherylCarson
SQL-92Transact-SQL
USEpubsSELECTa.au_fname,a.au_lname,p.pub_nameFROMauthorsaLEFTOUTERJOINpublisherspONa.city=p.cityORDERBYp.pub_nameASC,a.au_lnameASC,a.au_fnameASC
au_fnameau_lnamepub_name
------------------------------------------------------------------
ReginaldBlotchet-HallsNULL
MichelDeFranceNULL
InnesdelCastilloNULL
AnnDullNULL
MarjorieGreenNULL
MorningstarGreeneNULL
BurtGringlesbyNULL
SherylHunterNULL
LiviaKarsenNULL
CharleneLocksleyNULL
StearnsMacFeatherNULL
HeatherMcBaddenNULL
MichaelO'LearyNULL
SylviaPanteleyNULL
AlbertRingerNULL
AnneRingerNULL
MeanderSmithNULL
DeanStraightNULL
DirkStringerNULL
JohnsonWhiteNULL
AkikoYokomotoNULL
AbrahamBennetAlgodataInfosystems
CherylCarsonAlgodataInfosystems
(23row(s)affected)
publisherscityLEFTOUTERJOINauthors,pub_name
cityauthorspublishersAbrahamBennetCherylCarsonSQL-92RIGHTOUTERJOIN
SQL-92Transact-SQL
USEpubsSELECTa.au_fname,a.au_lname,p.pub_nameFROMauthorsASaRIGHTOUTERJOINpublishersASpONa.city=p.cityORDERBYp.pub_nameASC,a.au_lnameASC,a.au_fnameASC
au_fnameau_lnamepub_name
----------------------------------------------------------------
AbrahamBennetAlgodataInfosystems
CherylCarsonAlgodataInfosystems
NULLNULLBinnet&Hardley
NULLNULLFiveLakesPublishing
NULLNULLGGG&G
NULLNULLLucernePublishing
NULLNULLNewMoonBooks
NULLNULLRamonaPublishers
NULLNULLScootneyBooks
(9row(s)affected)
50
USEpubs
SELECTs.stor_id,s.qty,t.title
FROMsalessRIGHTOUTERJOINtitlest
ONs.title_id=t.title_id
ANDs.qty>50
ORDERBYs.stor_idASC
stor_idqtytitle
----------------------------------------------------------------------
(null)(null)ButIsItUserFriendly?(null)(null)ComputerPhobicANDNon-PhobicIndividuals:BehaviorVariations(null)(null)CookingwithComputers:SurreptitiousBalanceSheets(null)(null)EmotionalSecurity:ANewAlgorithm(null)(null)FiftyYearsinBuckinghamPalaceKitchens706675IsAngertheEnemy?(null)(null)LifeWithoutFear(null)(null)NetEtiquette(null)(null)Onions,Leeks,andGarlic:CookingSecretsoftheMediterranean(null)(null)ProlongedDataDeprivation:FourCaseStudies(null)(null)SecretsofSiliconValley(null)(null)SiliconValleyGastronomicTreats(null)(null)StraightTalkAboutComputers(null)(null)Sushi,Anyone?(null)(null)TheBusyExecutive'sDatabaseGuide(null)(null)TheGourmetMicrowave(null)(null)ThePsychologyofComputerCooking(null)(null)YouCanCombatComputerStress!
(18row(s)affected)
WHERE
MicrosoftSQLServer2000FULLOUTERJOIN
cityauthorspublishersAbrahamBennetCherylCarsonSQL-92FULLOUTERJOIN
Transact-SQL
USEpubsSELECTa.au_fname,a.au_lname,p.pub_nameFROMauthorsaFULLOUTERJOINpublisherspONa.city=p.cityORDERBYp.pub_nameASC,a.au_lnameASC,a.au_fnameASC
au_fnameau_lnamepub_name
--------------------------------------------------------------------
ReginaldBlotchet-HallsNULL
MichelDeFranceNULL
InnesdelCastilloNULL
AnnDullNULL
MarjorieGreenNULL
MorningstarGreeneNULL
BurtGringlesbyNULL
SherylHunterNULL
LiviaKarsenNULL
CharleneLocksleyNULL
StearnsMacFeatherNULL
HeatherMcBaddenNULL
MichaelO'LearyNULL
SylviaPanteleyNULL
AlbertRingerNULL
AnneRingerNULL
MeanderSmithNULL
DeanStraightNULL
DirkStringerNULL
JohnsonWhiteNULL
AkikoYokomotoNULL
AbrahamBennetAlgodataInfosystems
CherylCarsonAlgodataInfosystems
NULLNULLBinnet&Hardley
NULLNULLFiveLakesPublishing
NULLNULLGGG&G
NULLNULLLucernePublishing
NULLNULLNewMoonBooks
NULLNULLRamonaPublishers
NULLNULLScootneyBooks
(30row(s)affected)
,,CU,.
'
PublicFunctionMoneyConv(MoneyAsCurrency)AsStringOnErrorGoToDoerr
DimCN(9)AsStringDimCU(15)AsStringDimTempAsString,strNumAsStringDimCMAsStringDimtFirstAsString,tEndAsStringDimiAsLong,jAsLong,kAsLongCN(0)=""CN(1)=""CN(2)=""CN(3)=""CN(4)=""CN(5)=""CN(6)=""CN(7)=""CN(8)=""CN(9)=""'CU(0)=""'CU(1)=""CU(0)=""CU(1)=""CU(2)=""CU(3)=""CU(4)=""CU(5)=""CU(6)=""CU(7)=""CU(8)=""CU(9)=""CU(10)=""CU(11)=""IfMoney=0ThenCM=""GoToCompleteEndIfstrNum=Trim(str(FormatCurrency(Money,2,vbTrue,vbFalse,vbFalse)))IfLeft(strNum,1)="-"ThentFirst=""strNum=Right(strNum,Len(strNum)-1)ElsetFirst=""EndIfi=InStrRev(strNum,".")Ifi0ThenTemp=Right(strNum,i)IfLen(strNum)-i=1ThenTemp=Temp+"0"CM=CN(CInt(Left(Right(Temp,2),1)))+""+CN(CInt(Right(Temp,1)))+""tEnd=""strNum=Left(strNum,i-1)ElsetEnd=""EndIfi=0Forj=Len(strNum)To1Step-1k=CInt(Right(Left(strNum,j),1))Ifk=0ThenIfi0Andi4Andi8ThenCM=CN(k)+CMElseCM=CN(k)+CU(i)+CMEndIfElseCM=CN(k)+CU(i)+CMEndIf'CM=CN(k)+CU(i)+CMi=i+1NextjCM=tFirst+CM+tEndCM=Replace(CM,"","")CM=Replace(CM,"","")CM=Replace(CM,"","")CM=Replace(CM,"","")CM=Replace(CM,"","")CM=Replace(CM,"","")CM=Replace(CM,"","")CM=Replace(CM,"","")CM=Replace(CM,"","")CM=Replace(CM,"","")'
Complete:Gerr=0',MoneyConv=CMExitFunctionDoerr:Gerr=-1'Errexit:MoneyConv=""EndFunction
, , . (: )
:
dollars = chMoney(Val(inputValue))
^ ^
' CCh
' N1
' 0 ""
Public Function CCh(N1) As String
Select Case N1
Case 0
CCh = ""
Case 1
CCh = ""
Case 2
CCh = ""
Case 3
CCh = ""
Case 4
CCh = ""
Case 5
CCh = ""
Case 6
CCh = ""
Case 7
CCh = ""
Case 8
CCh = ""
Case 9
CCh = ""
End Select
End Function
' ChMoney
' N1 O
Public Function chMoney(N1) As String
Dim tMoney As String
Dim lMoney As String
Dim tn '
Dim s1 As String 'STRING
Dim s2 As String '1000
Dim s3 As String '10000
Dim st1, t1
If N1 = 0 Then
chMoney = " "
Exit Function
End If
If N1 < 0 Then
chMoney = "" + chMoney(Abs(N1))
Exit Function
End If
tMoney = Trim(Str(N1))
tn = InStr(tMoney, ".") '
s1 = ""
If tn 0 Then
st1 = Right(tMoney, Len(tMoney) - tn)
If st1 "" Then
t1 = Left(st1, 1)
st1 = Right(st1, Len(st1) - 1)
If t1 "0" Then
s1 = s1 + CCh(Val(t1)) + ""
End If
If st1 "" Then
t1 = Left(st1, 1)
s1 = s1 + CCh(Val(t1)) + ""
End If
End If
st1 = Left(tMoney, tn - 1)
Else
st1 = tMoney
End If
s2 = ""
If st1 "" Then
t1 = Right(st1, 1)
st1 = Left(st1, Len(st1) - 1)
s2 = CCh(Val(t1)) + s2
End If
If st1 "" Then
t1 = Right(st1, 1)
st1 = Left(st1, Len(st1) - 1)
If t1 "0" Then
s2 = CCh(Val(t1)) + "" + s2
Else
If Left(s2, 1) "" Then s2 = "" + s2
End If
End If
If st1 "" Then
t1 = Right(st1, 1)
st1 = Left(st1, Len(st1) - 1)
If t1 "0" Then
s2 = CCh(Val(t1)) + "" + s2
Else
If Left(s2, 1) "" Then s2 = "" + s2
End If
End If
If st1 "" Then
t1 = Right(st1, 1)
st1 = Left(st1, Len(st1) - 1)
If t1 "0" Then
s2 = CCh(Val(t1)) + "" + s2
Else
If Left(s2, 1) "" Then s2 = "" + s2
End If
End If
s3 = ""
If st1 "" Then
t1 = Right(st1, 1)
st1 = Left(st1, Len(st1) - 1)
s3 = CCh(Val(t1)) + s3
End If
If st1 "" Then
t1 = Right(st1, 1)
st1 = Left(st1, Len(st1) - 1)
If t1 "0" Then
s3 = CCh(Val(t1)) + "" + s3
Else
If Left(s3, 1) "" Then s3 = "" + s3
End If
End If
If st1 "" Then
t1 = Right(st1, 1)
st1 = Left(st1, Len(st1) - 1)
If t1 "0" Then
s3 = CCh(Val(t1)) + "" + s3
Else
If Left(s3, 1) "" Then s3 = "" + s3
End If
End If
If st1 "" Then
t1 = Right(st1, 1)
st1 = Left(st1, Len(st1) - 1)
If t1 "0" Then
s3 = CCh(Val(t1)) + "" + s3
End If
End If
If Right(s2, 1) = "" Then s2 = Left(s2, Len(s2) - 1)
If Len(s3) > 0 Then
If Right(s3, 1) = "" Then s3 = Left(s3, Len(s3) - 1)
s3 = s3 & ""
End If
chMoney = IIf(s3 & s2 = "", s1, s3 & s2 & "" & s1)
End Function
ACCESS
tblScore1 a 601 108 1202 b 589 112 1333 C 551 981452 D 502 801241 E 508 90853 F 561 97135
TRANSFORM Count(tblScore.) AS OfCountSELECT tblScore.FROM tblScoreGROUP BY tblScore.PIVOT Switch([]>=600,">=600",[]>=550 And []=500 And [] 0 Then
'
strWhere = Left(strWhere, Len(strWhere) - 5)
End If
'strWhere
Debug.Print strWhere
'
Me..Form.Filter = strWhere
Me..Form.FilterOn = True
'CheckSubformCount()
Call CheckSubformCount
Exit_cmd_Click:
Exit Sub
Err_cmd_Click:
MsgBox Err.Description
Resume Exit_cmd_Click
End Sub
Private Sub cmd_Click()
On Error GoTo Err_cmd_Click
'(Alex) 2003-5-22
'DAOSQL
'Microsoft DAO 3.6 Object Library.
'
Dim qdf As DAO.QueryDef 'qdf
Dim strWhere, strSQL As String
strWhere = Me..Form.Filter
If strWhere = "" Then
'
strSQL = "SELECT * FROM []"
Else
'
strSQL = "SELECT * FROM [] WHERE " & strWhere
End If
Set qdf = CurrentDb.QueryDefs("")
qdf.SQL = strSQL
qdf.Close
Set qdf = Nothing
DoCmd.OutputTo acOutputQuery, "", acFormatXLS, , True
Exit_cmd_Click:
Exit Sub
Err_cmd_Click:
MsgBox Err.Description
Resume Exit_cmd_Click
End Sub
Private Sub cmd_Click()
On Error GoTo Err_cmd_Click
'(Alex) 2003-5-22
'FOR EACH CONTROL
'
'
Dim ctl As Control
For Each ctl In Me.Controls
'ctl
Select Case ctl.ControlType
Case acTextBox '()
If ctl.Locked = False Then ctl.Value = Null
Case acComboBox '
ctl.Value = Null
'
End Select
Next
'
Me..Form.Filter = ""
Me..Form.FilterOn = False
'CheckSubformCount()
Call CheckSubformCount
Exit_cmd_Click:
Exit Sub
Err_cmd_Click:
MsgBox Err.Description
Resume Exit_cmd_Click
End Sub
Private Sub cmd_Click()
On Error GoTo Err_cmd_Click
Dim stDocName, strWhere As String
stDocName = ""
strWhere = Me..Form.Filter
'
'
DoCmd.OpenReport stDocName, acPreview, , strWhere
Exit_cmd_Click:
Exit Sub
Err_cmd_Click:
MsgBox Err.Description
Resume Exit_cmd_Click
End Sub
Private Sub CheckSubformCount()
'(Alex) 2003-5-22
'
'
'#
'
If Me..Form.Recordset.RecordCount > 0 Then
'>0
Me..ControlSource = "=[].[Form].[txt]"
Me..ControlSource = "=[].[Form].[txt]"
Else
'=0
Me..ControlSource = "=0"
Me..ControlSource = "=0"
End If
End Sub
VBA+DAO
Option Compare Database
'
'ALEX2003-5-26
'
'/
'VBA
'
'VBA+DAO
'
' ACCESS www.accxp.com
'
Private Sub cmd_Click()
On Error GoTo Err_cmd_Click
Dim strWhere As String '
Dim qdf As DAO.QueryDef 'qdf
Dim strSQL As String
strWhere = "" '
'
If Not IsNull(Me.) Then
'
strWhere = strWhere & "([] like '" & Me. & "') AND "
End If
'
If Not IsNull(Me.) Then
'
strWhere = strWhere & "([] like '" & Me. & "') AND "
End If
'
'
If Not IsNull(Me.) Then
'
strWhere = strWhere & "([] >= " & Me. & ") AND "
End If
If Not IsNull(Me.) Then
'
strWhere = strWhere & "([] = #" & Format(Me., "yyyy-mm-dd") & "#) AND "
End If
If Not IsNull(Me.) Then
'
strWhere = strWhere & "([] 0 then
a = RemainDay + 1
SaveSetting "MyApp", "set", "times", a
End if
End if
End Sub
Windows (Macintosh)
SaveSetting appname, section, key, setting
SaveSetting
appname
MacintoshSystemPreferences
section
key
setting
key
SaveSetting Windows 16 Windows .ini appname GetSetting defaultGetSetting section GetSetting DeleteSetting
' GetSetting
Dim MySettings As Variant
'
SaveSetting "MyApp","Startup", "Top", 75
SaveSetting "MyApp","Startup", "Left", 50
Debug.Print GetSetting(appname := "MyApp", section := "Startup", key := "Left", default := "25")
DeleteSetting "MyApp", "Startup"
=CurrentUser()
VBA?
1UltraEdit2mdb3CTRL+F4ID="{
5"ASCII"6ID="{
7mdbVBA
Access 2000
Access2000Access2000'VB6Access2000PrivateSubCommand1_Click()ConstOffset=&H43'AccessDimbEmpty(1To2)AsByte,bPass(1To2)AsByteDimIAsInteger,PasswordAsString'Open"D:\VB6_Test\MDB_Password\New_Empty_DB.mdb"ForBinaryAs#1'Open"D:\VB6_Test\MDB_Password\Pass_Protected_DB.mdb"ForBinaryAs#2Seek#1,OffsetSeek#2,OffsetForI=1To20'Access200020Get#1,,bEmpty'Get#2,,bPass'If(bEmpty(1)XorbPass(1))0ThenPassword=Password+Chr(bEmpty(1)XorbPass(1))'EndIfNextClose1,2MsgBox"Password:"+Password'EndSubAccess2000
New_Empty_DB.mdbPass_Protected_DB.mdbAccess2000Windows
Windows32Access20001Windows2026051520260515'VB6PrivateTypeFILETIMEdwLowDateTimeAsLongdwHighDateTimeAsLongEndTypePrivateTypeSYSTEMTIMEwYearAsIntegerwMonthAsIntegerwDayOfWeekAsIntegerwDayAsIntegerwHourAsIntegerwMinuteAsIntegerwSecondAsIntegerwMillisecondsAsIntegerEndTypePrivateConstGENERIC_WRITE=&H40000000PrivateConstOPEN_EXISTING=3PrivateConstFILE_SHARE_READ=&H1PrivateConstFILE_SHARE_WRITE=&H2PrivateDeclareFunctionSetFileTimeWriteLib"kernel32"Alias_"SetFileTime"(ByValhFileAsLong,lpCreateTimeAsFILETIME,_ByValNullPAsLong,ByValNullP2AsLong)AsLongPrivateDeclareFunctionSystemTimeToFileTimeLib"kernel32"_(lpSystemTimeAsSYSTEMTIME,lpFileTimeAsFILETIME)AsLongPrivateDeclareFunctionCreateFileLib"kernel32"Alias"CreateFileA"_(ByVallpFileNameAsString,ByValdwDesiredAccessAsLong,ByVal_dwShareModeAsLong,ByVallpSecurityAttributesAsLong,ByVal_dwCreationDispositionAsLong,ByValdwFlagsAndAttributesAsLong,_ByValhTemplateFileAsLong)AsLongPrivateDeclareFunctionCloseHandleLib"kernel32"(ByValhObjectAsLong)_AsLongPrivateDeclareFunctionLocalFileTimeToFileTimeLib"kernel32"_(lpLocalFileTimeAsFILETIME,lpFileTimeAsFILETIME)AsLongPrivateSubCommand1_Click()DimYearAsInteger,MonthAsInteger,DayAsIntegerDimHourAsInteger,MinuteAsInteger,SecondAsIntegerDimTimeStampAsVariant,FilenameAsString,XAsIntegerYear=2001:Month=3:Day=13'Hour=12:Minute=0:Second=26TimeStamp=DateSerial(Year,Month,Day)+TimeSerial(Hour,Minute,Second)Filename="D:\VB6_Test\MDB_Password\Pass_Protected_DB.mdb"'X=ModifyFileStamp(Filename,TimeStamp)EndSubFunctionModifyFileStamp(FilenameAsString,TimeStampAsVariant)AsIntegerDimXAsLong,HandleAsLong,System_TimeAsSYSTEMTIMEDimFile_TimeAsFILETIME,Local_TimeAsFILETIMESystem_Time.wYear=Year(TimeStamp):System_Time.wMonth=Month(TimeStamp)System_Time.wDay=Day(TimeStamp)System_Time.wDayOfWeek=Weekday(TimeStamp)-1System_Time.wHour=Hour(TimeStamp):System_Time.wSecond=Second(TimeStamp)System_Time.wMilliseconds=0X=SystemTimeToFileTime(System_Time,Local_Time)X=LocalFileTimeToFileTime(Local_Time,File_Time)'Handle=CreateFile(Filename,GENERIC_WRITE,FILE_SHARE_READOr_FILE_SHARE_WRITE,ByVal0&,OPEN_EXISTING,0,0)'X=SetFileTimeWrite(Handle,File_Time,ByVal0&,ByVal0&)'CloseHandleHandle'EndFunction
2
Access 2000
Access2000Access20000000004240Access200040:2977EC37F2C89CFA69D228E6BC3A8A60FB187B365AFEDFB1D87813436023B1339BED795B3D397C2A4000000042404000000042Access2000Access2000Access2000ASCIIASCII40000000424012345678901234567890(:20ASCII)00000042401877DE37C1C8A8FA5CD21EE68B3AB260C2184B366BFEEDB1EB78274355238733ACED415B04394C2AAccess20004040ACCESS20004020
shell ("net time \\ /set /yes"),vbHide
functionlj()dimcatdbasadox.catalogdimtbllinkasadox.table
setcatdb=newadox.catalogcatdb.activeconnection=currentproject.connection
settbllink=newadox.table'
withtbllink.name=""'set.parentcatalog=catdb
.properties("jetoledb:createlink")=true.properties("jetoledb:linkdatasource")=_"c:\programfiles\zhanyexing\123.mdb".properties("jetoledb:linkproviderstring")=_"msaccess;pwd=123;"'.properties("jetoledb:remotetablename")=""'endwith
catdb.tables.appendtbllink'settbllink=nothingendfunction
vba"microsoftadoext.2.5forddlandsecurity""microsoftactivexdataobjects2.1/2.5/2.6/2.7library"
MDBMDBMDBAccessMDBMDB16AccessAccessMDB
'FunctionOpenHt(HTmdbPathAsString)DimfhAsIntegerfh=FreeFileOpenHTmdbPathForBinaryAccessWriteAs#fhPutfh,2,&H1Close#fhEndFunction
'FunctionCloseHt(HTmdbPathAsString)DimfhAsIntegerfh=FreeFileOpenHTmdbPathForBinaryAccessWriteAs#fhPutfh,2,&H0Close#fhEndFunction
'PublicHTcnAsConnectionPublicHTrsAsNewADODB.RecordsetPublicHTsqlAsString
'FunctionOpenStandHT()SetHTcn=CurrentProject.Connection'1HTsql="select*from1"HTrs.OpenHTsql,HTcn,3,3,1EndFunction
'FunctionCloseStandHT()HTrs.CloseSetHTcn=NothingEndFunction
Yhcwgl
Private Sub Form_Open(Cancel As Integer)
Dim a As Long
Dim b As Long
b = GetSetting("MyApp", "set", "times", 51345)
a = b Xor 51345
If a < 50 Then
MsgBox " 1.01" & vbCrLf & _
"" & 50 - a & "" & vbCrLf & _
" " & vbCrLf & _
" " & vbCrLf & _
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" & vbCrLf & _
" " & vbCrLf & _
" " & vbCrLf & _
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" & vbCrLf & _
" " & vbCrLf & _
" 13945431870" & vbCrLf & _
" [email protected]@msn.com" & vbCrLf & _
" " & vbCrLf & _
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~", vbOKOnly
a = a + 1
b = a Xor 51345
SaveSetting "MyApp", "set", "times", b
Else
MsgBox ",!" & vbCrLf & _
" " & vbCrLf & _
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" & vbCrLf & _
" " & vbCrLf & _
" " & vbCrLf & _
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" & vbCrLf & _
" " & vbCrLf & _
" 13945431870" & vbCrLf & _
" [email protected]@msn.com" & vbCrLf & _
" " & vbCrLf & _
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~", vbOKOnly
DoCmd.Quit
End If
End Sub
1
2
3
45
5
,
1@
090305
@ 90305
@+1 90306
@&"p" 90305p
left(@,1) & "w" & right(@,2) 9w05 @
2
3
1
2
3
43
5
1
2
3access
4
-->admin-->admin
MDB
1; 2ACCESS 3 4VBACCESS
ACCESS
Set fs = Application.FileSearch'' With fs .LookIn = "C:\Program Files\Microsoft Office\"'' .SearchSubFolders = True'' .FileName = "msaccess.exe"'' If .Execute() > 0 Then p = .FoundFiles(1) ''ACCESS Shell p & " " & CurrentProject.Path & "\123.mdb /wrkgrp " & CurrentProject.Path & "\system.mdw", 3'' Else MsgBox "C:\Program Files\Microsoft Office\MSACCESS." End If End With docmd.quit''
MDE
Shell SysCmd(acSysCmdAccessDir) & " msaccess.exe" & CurrentProject.Path & "\123.mdb /wrkgrp " & CurrentProject.Path & "\system.mdw", 3
mde
VBA
----------
Private Sub OkButton_Click()
On Error GoTo Err_OkButton_ClickDim myuser As User, MyWorkspace As WorkspaceDim A As VariantDim B As VariantDim Glbuser As StringGlbuser = CurrentUser()A = Me![CODE]' NEW CODEB = Me![OldCode]'OLDCODEIf IsNull(A) ThenMsgBox "", vbExclamationGoTo Exit_OkButton_ClickEnd IfIf Len(A) < 4 Or Len(A) > 9 ThenMsgBox " ", 64GoTo Exit_OkButton_ClickEnd IfSet MyWorkspace = DBEngine.Workspaces(0)DBEngine.Workspaces(0).Users(Glbuser).NewPassword B, AMsgBox "" & A, 64, DoCmd.Close
Exit_OkButton_Click:Exit Sub
Err_OkButton_Click:
MsgBox "", 64Resume Exit_OkButton_Click
End Sub
shift1
Sub SetBypassProperty()
Const DB_Boolean As Long = 1
ChangeProperty "AllowBypassKey", DB_Boolean, False
End Sub
Function ChangeProperty(strPropName As String, varPropType As Variant, varPropValue As Variant) As Integer
Dim dbs As Object, prp As Variant
Const conPropNotFoundError = 3270
Set dbs = CurrentDb
On Error GoTo Change_Err
dbs.Properties(strPropName) = varPropValue
ChangeProperty = True
Change_Bye:
Exit Function
Change_Err:
If Err = conPropNotFoundError Then ' Property not found.
Set prp = dbs.CreateProperty(strPropName, _
varPropType, varPropValue)
dbs.Properties.Append prp
Resume Next
Else
' Unknown error.
ChangeProperty = False
Resume Change_Bye
End If
End Function
shift
On load
cproperty "AllowByPasskey", dbBoolean, True
SUB
Sub cproperty(pName, pType, pValue)
On Error GoTo ki
Set prp = CurrentDb.CreateProperty(pName, pType, pValue)
CurrentDb.Properties.Append prp
Me![0] = pValue
Exit Sub
ki:
Me![0] = CurrentDb.Properties(pName)
End Sub
On click
CurrentDb.Properties("AllowByPasskey") = Me![0]
MsgBox ""
Shift
shift2
Function SetBypassPropertyFalse()
Const DB_Boolean As Long = 1
ChangeProperty "AllowBypassKey", DB_Boolean, False
End Function
Function SetBypassPropertyTrue()
Const DB_Boolean As Long = 1
ChangeProperty "AllowBypassKey", DB_Boolean, True
End Function
Function ChangeProperty(strPropName As String, varPropType As Variant, varPropValue As Variant) As Integer
Dim dbs As Object, prp As Variant
Const conPropNotFoundError = 3270
Set dbs = CurrentDb
On Error GoTo Change_Err
dbs.Properties(strPropName) = varPropValue
ChangeProperty = True
Change_Bye:
Exit Function
Change_Err:
If Err = conPropNotFoundError Then ' Property not found.
Set prp = dbs.CreateProperty(strPropName, _
varPropType, varPropValue)
dbs.Properties.Append prp
Resume Next
Else
' Unknown error.
ChangeProperty = False
Resume Change_Bye
End If
End Function
SetBypassPropertyFalse
MsgBox "shift", , ""
SetBypassPropertyTrue
MsgBox "shift", , ""
accessADO
Access2000.C:\db1.mdbpass:Admin:winstar:system.mdw//system.mdwdb1.mdbsystem32//JET4.0OLEDBC:\db1.mdbAdminwinstar1JetOLEDB:DatabasePassword:pass2JetOLEDB:Systemdatabase:system.mdw//ADOConnection1COPYProvider=Microsoft.Jet.OLEDB.4.0;Password=winstar;UserID=Admin;DataSource=C:\db1.mdb;Mode=ShareDenyNone;ExtendedProperties="";JetOLEDB:Systemdatabase=system.mdw;JetOLEDB:RegistryPath="";JetOLEDB:DatabasePassword=pass;JetOLEDB:EngineType=5;JetOLEDB:DatabaseLockingMode=1;JetOLEDB:GlobalPartialBulkOps=2;JetOLEDB:GlobalBulkTransactions=1;JetOLEDB:NewDatabasePassword="";JetOLEDB:CreateSystemDatabase=False;JetOLEDB:EncryptDatabase=False;JetOLEDB:Don'tCopyLocaleonCompact=False;JetOLEDB:CompactWithoutReplicaRepair=False;JetOLEDB:SFP=False
AccessAccess
system.mdw.mdb0
BCB6+SP2,MDAC2.6+SP1+Access2000OLEOLEAccess
Provider=Microsoft.Jet.OLEDB.4.0;Password=user1;UserID=User1;DataSource=C:\Tmp\db1.mdb;Mode=ShareDenyNone;ExtendedProperties="";PersistSecurityInfo=True;JetOLEDB:Systemdatabase=c:\tmp\system.mdw;JetOLEDB:RegistryPath="";JetOLEDB:DatabasePassword=5678;JetOLEDB:EngineType=5;JetOLEDB:DatabaseLockingMode=1;JetOLEDB:GlobalPartialBulkOps=2;JetOLEDB:GlobalBulkTransactions=1;JetOLEDB:NewDatabasePassword="";JetOLEDB:CreateSystemDatabase=False;JetOLEDB:EncryptDatabase=False;JetOLEDB:Don'tCopyLocaleonCompact=False;JetOLEDB:CompactWithoutReplicaRepair=False;JetOLEDB:SFP=False
Access2000+WinXPProfessinal+BCB6
ACCESSUser15678User1User1
C:\programfiles\microsoftoffice\officesystem.mdwMDB
BCB6ADOConnectionMDB
ALTER DATABASE
ALTER DATABASE PASSWORD NewPassword OldPassword
([]) String
NULL ALTER DATABASE OldPassword NULL ALTER DATABASE NewPassword NULL
Microsoft ADO Ext 2.5 for DDL and Security
Visual Basic
Microsoft ADO Ext 2.5 for DDL and Security
Private Function CreateDBPassword(ByVal Password As String, _
ByVal Path As String) As Boolean
Dim objConn as ADODB.Connection
Dim strAlterPassword as String
On Error GoTo CreateDBPassword_Err
' SQL
strAlterPassword = "ALTER DATABASE PASSWORD [Password] NULL;"
'
Set objConn = New ADODB.Connection
With objConn
.Mode = adModeShareExclusive
.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data " & _
"Source=Path;"
' SQL
.Execute (strAlterPassword)
End With
'
objConn.Close
Set objConn = Nothing
' true
CreateDBPassword = True
CreateDBPassword_Err:
Msgbox Err.Number & ":" & Err.Description
CreateDBPassword = False
End Function
.mdb String SQL strAlterPassword ALTER DATABASE PASSWORD Jet SQL NULL Mode SQL True
Microsoft ADO Ext 2.5 for DDL and Security
Visual Basic
Microsoft ADO Ext 2.5 for DDL and Security
Private Function ChangeDBPassword(ByVal OldPassword As String, _
ByVal NewPassword As String, ByVal Path As String) As Boolean
Dim objConn as ADODB.Connection
Dim strAlterPassword as String
On Error GoTo ChangeDBPassword_Err
' SQL
strAlterPassword = "ALTER DATABASE PASSWORD [NewPassword] [OldPassword];"
'
Set objConn = New ADODB.Connection
With objConn
.Mode = adModeShareExclusive
.Provider = "Microsoft.Jet.OLEDB.4.0"
.Properties("Jet OLEDB:Database Password") = "OldPassword"
.Open "Data Source=Path;"
' SQL
.Execute (strAlterPassword)
End With
'
objConn.Close
Set objConn = Nothing
ChangeDBPassword = True
ChangeDBPassword_Err:
Msgbox Err.Number & ":" & Err.Description
ChangeDBPassword = False
End Function
Connection Database Password Connection ALTER DATABASE NULL
Microsoft ADO Ext 2.5 for DDL and Security
Visual Basic
Microsoft ADO Ext 2.5 for DDL and Security
Users
Access Admins strUser DeleteUser
Private Function AddUser(ByVal strUser As String, _
ByVal strPID As String, _
Optional ByVal strPwd As String) As Boolean
Dim catDB As ADOX.Catalog
On Error GoTo AddUser_Err
' Catalog
Set catDB = New ADOX.Catalog
With catDB
'
' Catalog
.ActiveConnection = CurrentProject.Connection
'
.Users.Append strUser, strPwd, strPID
' Users
.Groups("Users").Users.Append strUser
End With
' Catalog
Set catDB = Nothing
AddUser = True
AddUser_Err:
Msgbox Err.Number & ":" & Err.Description
AddUser = False
End Function
Catalog
Catalog Access
Catalog Users Users Users
Private Function DeleteUser(ByVal strUser As String) As Boolean
Dim catDB As ADOX.Catalog
On Error GoTo DeleteUser
' Catalog
Set catDB = New ADOX.Catalog
With catDB
' Catalog
.ActiveConnection = CurrentProject.Connection
' strUser
.Users.Delete strUser
End With
' Catalog
Set catDB = Nothing
DeleteUser = True
DeleteUser_Err:
Msgbox Err.Number & ":" & Err.Description
DeleteUser = False
End Function
Catalog Delete strUser String
Private Function AddGroup(ByVal strGroup As String, _
ByVal strPID As String) As Boolean
Dim catDB As ADOX.Catalog
On Error GoTo AddGroup_Err
Set catDB = New ADOX.Catalog
With catDB
' Catalog
.ActiveConnection = CurrentProject.Connection
'
.Groups.Append strGroup, strPID
End With
' Catalog
Set catDB = Nothing
AddGroup = True
AddGroup_Err:
Msgbox Err.Number & ":" & Err.Description
AddGroup = False
End Function
Catalog Catalog Groups
Private Function DeleteGroup(ByVal strGroup As String) As Boolean
Dim catDB As ADOX.Catalog
On Error GoTo DeleteGroup_Err
Set catDB = New ADOX.Catalog
With catDB
' Catalog
.ActiveConnection = CurrentProject.Connection
' strGroup
.Groups.Delete strGroup
End With
' Catalog
Set catDB = Nothing
DeleteGroup = True
DeleteGroup_Err:
Msgbox Err.Number & ":" & Err.Description
DeleteGroup = False
End Function
Catalog Delete strGroup String
Group User SetPermissions
Private Function SetGroupPermissions(ByVal strGroup As String, _
ByVal strTable As String, ByVal strObjectType As String, _
ByVal strAction As String, _
ByVal strRevokeEnum As String) As Boolean
Dim catDB As ADOX.Catalog
On Error GoTo SetGroupPermissions_Err
Set catDB = New ADOX.Catalog
With catDB
' Catalog
.ActiveConnection = CurrentProject.Connection
'
.Groups(strGroup).SetPermissions tblTable, _
strObjectType, strAction, strRevokeEnum
'
.Groups(strGroup).SetPermissions tblTable, _
strObjectType, strAction, _
adRightRead Or adRightInsert Or adRightUpdate
End With
' Catalog
Set catDB = Nothing
SetGroupPermissions = True
SetGroupPermissions_Err:
Msgbox Err.Number & ":" & Err.Description
SetGroupPermissions = False
End Function
Catalog Groups SetPermissions Employees Employees
Or
NULL
...
catDB.Groups(strGroup).SetPermissions NULL, adPermObjTable
...
Access Access Security Wizard
PrivateSubComman1_Click()Dimstr1,str2,str3AsStringstr1=""str2=Encrypt(str1,188,24)MsgBoxstr2str3=Encrypt(str2,188,24)MsgBoxstr3EndSub
PrivateFunctionEncrypt(ByValstrSourceAsString,ByValKey1AsByte,_ByValKey2AsInteger)AsStringDimbLowDataAsByteDimbHigDataAsByteDimiAsIntegerDimstrEncryptAsStringDimstrCharAsStringFori=1ToLen(strSource)
'
strChar=Mid(strSource,i,1)
'Key1
bLowData=AscB(MidB(strChar,1,1))XorKey1
'K2
bHigData=AscB(MidB(strChar,2,1))XorKey2
'
strEncrypt=strEncrypt&ChrB(bLowData)&ChrB(bHigData)
NextEncrypt=strEncryptEndFunction
DCS1.2.3.FormVisibleFalseFormShowInTaskBarFalseWindowsWINAPIRegisterviceProcessVCDelphiVBPBVB(ID)1.VB6.0Project12.Project1ModulelHiddenMenHiddenMenModule1PublicDeclareFunctionGetCurrentProcessIdLibkernel32()AsLongIDPublicDeclareFunctionRegisterServiceProcessLibkernel32(ByValProcessIdAsLong,ByValServiceFlagsAsLong)AsLongID3.Project1Form1Form1form1.Visible=Falseform1.ShowInTaskBar=FalsePrivateDeclareFunctionGetDriveTypeLibkernel32AliasGetDriveTypeA(ByValnDriveAsString)AsLongPrivateDeclareFunctionGetVolumeInformationLibkernel32AliasGetVolumeInformationA(ByVallpRootPathNameAsString,ByVallpVolumeNameBufferAsString,ByValnVolumeNameSizeAsLong,lpVolumeSerialNumberAsLong,lpMaximumComponentLengthAsLong,lpFileSystemFlagsAsLong,ByVallpFileSystemNameBufferAsString,ByValnFileSystemNameSizeAsLong)AsLongPrivateSubForm_Load()Dimdrive_noAsLong,drive_flagAsLongDimdrive_chrAsString,drive_diskAsStringDimserial_noAsLong,kkkAsLongDimstemp3AsString,dflagAsBooleanDimstrlabelAsString,strtypeAsStringstrcAsLongRegisterServiceProcessGetCurrentProcessId,1strlabel=String(255,Chr(0))strtype=String(255,Chr(0))stemp3=172498135C,dflag=FalseFordrive_no=0To25drive_disk=Chr(drive_no+67)drive_chr=drive_disk&:\drive_flag=GetDriveType(drive_chr)Ifdrive_flag=3Thenkkk=GetVolumeInformation(drive_chr,strlabel,Len(strlabel),serial_no,0,0,strtype,Len(strtype))GetVolumeInformationSelectCasedrive_noCase0strc=serial_noEndSelectIfserial_no=stemp3Thendflag=TrueExitForEndIfEndIfNextdrive_noIfdrive_no=26Anddflag=FalseThenGoToerr:EndIfMsgBox(HI)ExitSuberr:MsgBox(!CID&strc)EndSubPrivateSubForm_Unload(CancelAsInteger)RegisterServiceProcessGetCurrentProcessId,0EndSub!CID172498135Ctrl+Alt+DelHiddenMenWindows98VB6.0
ACCESS(ADP/ADE)
Andrew Clinick 2000 1 10 If It Moves, Script It(http://msdn.microsoft.com/workshop/languages/clinic/scripting061499.asp)Windows Script Host(WSH)( Windows ) Windows Windows Windows SQL Server ExchangeOffice -------------------------------------------------------------------------------- SQL Server XMLSQL Server --------------------------------------------------------------------------------
Active Data Object(ADO)Active Server Page (ASP)ADO Y2K XML ADO SQL Server XMLSQL Server
(DMO) COM SQL Server WSH DMO SQL Server DMO SQLDMO.SQLServer Database table SQL Server
' sql Dim oServer ' SQL Server Dim oDatabase ' Dim oBCP ' BCP Dim nRows ' bcp dim table ' on error resume next ' if WScript.Arguments(0) = "" then WScript.Echo "" WScript.Quit end if ' SQL DMO Set oServer = CreateObject("SQLDMO.SQLServer") ' SQL DMO Bulkcopy Set oBCP = CreateObject("SQLDMO.BulkCopy") oServer.EnableBcp = True ' ' sa !! oServer.Connect ".", "sa" ' Set oDatabase = oServer.Databases(Wscript.Arguments(0))
' oBCP.ColumnDelimiter = vbComma ' oBCP.DataFileType = SQLDMODataFile_CommaDelimitedChar oBCP.ImportRowsPerBatch = 1000 oBCP.MaximumErrorsBeforeAbort = 1 BCP.RowDelimiter = vbCrLf oBCP.ServerBCPDataFileType = SQLDMOBCPDataFile_Char oBCP.UseExistingConnection = True ' if wscript.Arguments(1) = "" then for each table in oDatabase.tables ' if table.systemobject = false then oBCP.DataFilePath = table.name & ".csv" nRows = table.ExportData(oBCP) wscript.Echo nRows & " rows exported from " & table.name end if nextelse ' oBCP.DataFilePath = wscript.Arguments(1) & ".csv" nRows = oDatabase.Tables(wscript.arguments(1)).ExportData(oBCP) wscript.Echo nRows & " rows exported from " & wscript.arguments(1) end if
DMO WSH DMO (http://msdn.microsoft.com/voices/sqlexport.wsf) DMO http://msdn.microsoft.com/library/psdk/sql/9_dmoc01.htm(http://msdn.microsoft.com/library/psdk/sql/9_dmoc01.htm)
Comma Separated (CSV) SQL SQL 20 ?SQL Server 7.0 (DTS)SQL ServerVisual Basic(R) (VBScript)JScript(R)Perl DTS DTS SQL ServerEnterprise ManagerSQL ServerEnterprise Manager DTS (GUI) sqlexport.wsf employees.csv SQL ServerDTA Text SQL Server
DTS SQL Enterprise Manager VBScript Cint employeeid deptid int
'********************************************************************** ' Visual Basic ' ' '*********************************************************************** Function Main() DTSDestination("EmployeeID") = cint(DTSSource("Col001")) DTSDestination("FirstName") = DTSSource("Col002") DTSDestination("LastName") = DTSSource("Col003") DTSDestination("email") = lcase(DTSSource("Col004")) DTSDestination("extension") = DTSSource("Col005") DTSDestination("office") = DTSSource("Col006") DTSDestination("DeptID") = cint(DTSSource("Col007")) Main = DTSTransformStat_OK End Function
DTS/ Visual Basic C++ COM DTS /SQL Server XML
XML SQL Server XML XML SQL Server XML XMLSQL ServerSQL Server XML XML HTTP XML WSH North Wind XMLInternet Explorer 5.01 XML HTTP XML URL .xml !
' url xmlpath = "http://localhost/Northwind?sql=select+*+from+employees+for+xml+auto" ' XML Set myXMLDoc = CreateObject("Microsoft.XMLDOM") ' myXMLDoc.async = false ' URL myXMLDoc.Load xmlpath ' myXMLDoc.save "employees.xml"
URL XML XML
SQL ServerDMO DTS DMO Windows 2000 Windows Script Host 2.0SQL Server Windows 2000 SQL Server XML SQL ServerSQL Server SQL Server Developer enter(http://msdn.microsoft.com/sqlserver/)
SQL
http://www.mycodes.net 2002817 ---- SQLOLTPDSSSQLwhere
---- SQL< 1
---- -- ---- HP LH II ---- 330MHZ ---- 128 ---- Operserver5.0.4 ----Sybase11.0.3
----record620000 SQL ---- 1.date
select count(*) from record where date > ''19991201'' and date < ''19991214''and amount > 2000 (25) select date,sum(amount) from record group by date (55) select count(*) from record where date > ''19990901'' and place in (''BJ'',''SH'') (27)
---- ----date
---- 2.date
select count(*) from record where date > ''19991201'' and date < ''19991214'' and amount > 2000 14 select date,sum(amount) from record group by date 28 select count(*) from record where date > ''19990901'' and place in (''BJ'',''SH'')14
---- ----
---- 3.placedateamount
select count(*) from record where date > ''19991201'' and date < ''19991214'' and amount > 2000 26 select date,sum(amount) from record group by date 27 select count(*) from record where date > ''19990901'' and place in (''BJ, ''SH'')< 1
---- ---- placeSQLplaceSQLplace
---- 4.dateplaceamount
select count(*) from record where date > ''19991201'' and date < ''19991214'' and amount > 2000(< 1) select date,sum(amount) from record group by date 11 select count(*) from record where date > ''19990901'' and place in (''BJ'',''SH'')< 1
---- ---- dateSQLSQL
---- 5.
----
---- .
between, >,< >=,< =order bygroup by
---- .
---- .
---- card7896card_noaccount191122 account_noSQL
select sum(a.amount) from account a, card b where a.card_no = b.card_no20
---- SQL select sum(a.amount) from account a, card b where a.card_no = b.card_no and a. account_no=b.account_no< 1
---- ---- accountcardcardI/O
---- account22541+account191122*card3=595907I/O
---- cardaccountaccountI/O
---- card1944+card7896*account4= 33528I/O
----
----
---- 1.*
---- 2.-- set showplanonshowplansadbcc(3604,310,302)
where ---- 1.SQL
select * from record where substring(card_no,1,4)=''5378''(13) select * from record where amount/30< 100011 select * from record where convert(char(10),date,112)=''19991201''10
---- ---- whereSQLSQLSQL
select * from record where card_no like ''5378%''< 1 select * from record where amount < 1000*30< 1 select * from record where date= ''1999/12/01'' < 1
---- SQL
---- 2.stuff200000id_noSQL
select count(*) from stuff where id_no in(''0'',''1'') 23
---- ---- where''in''''or''in (''0'',''1'')id_no =''0'' or id_no=''1''orid_noshowplan,"OR"orid_notempdb
---- stuff620000220or
select count(*) from stuff where id_no=''0'' select count(*) from stuff where id_no=''1''
---- 36200004 create proc count_stuff as declare @a int declare @b int declare @c int declare @d char(10) begin select @a=count(*) from stuff where id_no=''0'' select @b=count(*) from stuff where id_no=''1'' end select @c=@a+@b select @d=convert(char(10),@c) print @d
---- ----
---- where
---- 1.
---- 2.inor
---- 3.SQL
---- SQLI/OSQL
Access Excel
ACCESSWORDEXCEL
123456EXCEL
DimEXLAsNewExcel.Application
EXL.Workbooks.Open"C:\Book.xls",,,,"123456",""
WORD
InsertAfter InsertBefore Selection Range
ActiveDocument.Content.InsertAfter Text:=" the end."
Selection.InsertBefore Text:="new text "
Range Selection InsertBefore InsertAfter Collapse Selection Range
ACCESSWORD
PrivateSub0_Click()
Dim WkWord As New Word.Application
Dim WkDoc As Word.Document
Set WkDoc = WkWord.Application.Documents.Open("c:\mydocuments\.doc")
WkDoc.PrintOutFalse
WkDoc.Close
WkWord.Quit
End Sub
printoutFLASE
WordVBA
PrivateDeclareFunctionShellExecuteAnyLib"shell32.dll"Alias"ShellExecuteA"(ByValhwndAsLong,ByVallpOperationAsString,ByVallpFileAsString,ByVallpParametersAsAny,ByVallpDirectoryAsAny,ByValnShowCmdAsLong)AsLongConstSW_SHOWMINNOACTIVE=7
SubPrintAnyFile(FileToPrintAsString)DimRetAsLongRet=ShellExecuteAny(Me.hwnd,"print",FileToPrint,ByVal0&,ByVal0&,SW_SHOWMINNOACTIVE)EndSub
PrivateSubCommand0_Click()IfDir(CurrentProject.Path&"\"&".DOC")""ThenPrintAnyFileCurrentProject.Path&"\"&".DOC"ElseMsgBox""&CurrentProject.Path&""EndIfEndSub
AccessMicrosoft OfficeAccessAccessWordMicrosoft OfficeAccessAccessWordAccessWordOfficeAccessWordExcel
ADOActiveXAccessADOSQLRecordsetRecordsetWordWordAccessWord
AccessADOWord
1.
Microsoft Windows 9x/NT/2000Microsoft Access 2000Microsoft Word 2000 C:\Program Files\Microsoft Office\Office\Samples\Northwind.mdbOffice 2000D:\db1.mdb D:\db1.mdb1,10
ADOAlt+F11Visual Basic->Microsoft ActiveX Data Objects 2.1 Word->Microsoft Word 9.0 Object Library
2.
10Visual BasicPrivate Sub 0_Click()
Sub 0_Click()
'
Title = InputBox(vbCrLf & vbCrLf & "", "", "XX")
If Title = "" Then Title = "XX"
'1cnn
'CurrentProject.Connection Set cnn = New ADODB.Connection Set cnn = CurrentProject.Connection
'2SQLrs Set rs = New ADODB.Recordset ' rs.CursorType = adOpenKeyset rs.LockType = adLockOptimistic 'SQL SQL = "select ,,, from where >10.00" 'rs rs.Open SQL, cnn ' total_fields = rs.Fields.Count total_records = rs.RecordCount
'3Word Set mywdapp = CreateObject("word.application") 'Word mywdapp.WindowState = wdWindowStateNormal 'Word mywdapp.Documents.Add ' mywdapp.ActiveWindow.View.Type = wdPrintView 'Word mywdapp.Visible = True mywdapp.Activate '() mywdapp.ActiveDocument.Range.Font.Size = "9"
'4rsWord ' For I = 0 To total_fields - 2 mywdapp.Selection.TypeText Text:=rs.Fields(I).Name & vbTab Next I ' mywdapp.Selection.TypeText Text:=rs.Fields(total_fields - 1).Name & vbCrLf ' Do While Not rs.EOF For I = 0 To total_fields - 2 tmpstr = rs.Fields(I).value If rs.Fields(I).Name = "" Then tmpstr = Format(tmpstr, "####.00") End If mywdapp.Selection.TypeText Text:=tmpstr & vbTab Next I ' mywdapp.Selection.TypeText Text:=rs.Fields(total_fields - 1).value & vbCrLf rs.MoveNext Loop
'5 rs.Close Set rs = Nothing
'6Word ' ' mywdapp.ActiveWindow.View.Type = wdNormalView ' mywdapp.Selection.EndKey Unit:=wdStory ' mywdapp.Selection.Delete Unit:=wdCharacter, Count:=1 ' mywdapp.Selection.WholeStory ' mywdapp.Selection.ConvertToTable Separator:=wdSeparateByTabs, DefaultTableBehavior:=wdWord8TableBehavior ' mywdapp.Selection.HomeKey Unit:=wdStory ' Set Temp_Table = mywdapp.ActiveDocument.Tables(1) ' ' Temp_Table.Rows.Alignment = wdAlignRowCenter Temp_Table.AutoFitBehavior wdAutoFitContent Temp_Table.Rows(1).Range.ParagraphFormat.Alignment = wdAlignParagraphCenter Temp_Table.Rows(1).Range.Rows.HeadingFormat = wdToggle Temp_Table.Borders(wdBorderLeft).LineWidth = wdLineWidth150pt Temp_Table.Borders(wdBorderRight).LineWidth = wdLineWidth150pt Temp_Table.Borders(wdBorderTop).LineWidth = wdLineWidth150pt Temp_Table.Borders(wdBorderBottom).LineWidth = wdLineWidth150pt Temp_Table.Range.Cells.VerticalAlignment = wdCellAlignVerticalCenter ' mywdapp.Selection.HomeKey Unit:=wdStory ' mywdapp.Selection.SplitTable mywdapp.Selection.Font.Name = "" ' mywdapp.Selection.TypeText Text:=Title & vbCrLf mywdapp.Application.ScreenRefresh ' 'Acdess mywdapp.Visible = False Msg = "" & vbCrLf & vbCrLf Msg = Msg & "=" & total_records & " " MsgBox Msg, vbOKOnly, "" 'Word mywdapp.Visible = True mywdapp.Activate End Sub
WordADOAccess 1. : Microsoft Windows 9x/NT/2000Microsoft Word 2000 C:\Program Files\Microsoft Office\Office\Samples\Northwind.mdbOffice 2000 ADOAlt+F11Visual Basic->Microsoft ActiveX Data Objects 2.1 2. Visual BasicSub Word_ADO()
Sub Word_ADO() ' Title = InputBox(vbCrLf & vbCrLf & "", "", "XX") If Title = "" Then Title = "XX"
'1cnn ',C:\Program Files\Microsoft Office\Office\Samples\Northwind.mdb Set cnn = New ADODB.Connection cnn.Provider = "Microsoft.jet.oledb.4.0" cnn.Open "C:\Program Files\Microsoft Office\Office\Samples\Northwind.mdb"
'2SQLrs Set rs = New ADODB.Recordset rs.CursorType = adOpenKeyset rs.LockType = adLockOptimistic SQL = "select ,,, from where >10.00" rs.Open SQL, cnn total_fields