Click here to load reader

ACCESS-VBA编程 - read.pudn.comread.pudn.com/downloads63/sourcecode/others/220975/…  · Web view控件: 常量 控件 . acBoundObjectFrame 绑定对象框 . acCheckBox 复选框

  • 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