作者:Cooly  出处:http://search.csdn.net/expert/topic/51/5101/2003/3/20/1555609.htm 
'======================================================= '一、如何使用ADODC控件绑定数据到DataGrid和DataList '======================================================= 
Public isDB As Boolean 
Private Sub Form_Load() Dim connStr, AccessLocation As String AccessLocation = "C:\db1.mdb" connStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & AccessLocation & ";Persist Security Info=False" Adodc1.ConnectionString = connStr Adodc1.CommandType = adCmdText Adodc1.RecordSource = "select * from tableabc" Adodc1.Refresh For i = 0 To Adodc1.Recordset.Fields.Count - 1     List1.AddItem Adodc1.Recordset.Fields(i).Name Next Set DataList1.DataSource = Adodc1 DataList1.DataField = "Col1" DataList1.BoundColumn = "Col1" Set DataList1.RowSource = Adodc1 DataList1.ListField = "Col1" 
Adodc1.Recordset.MoveFirst End Sub 
Private Sub List1_Click() '选择DataGrid中显示的字段 Dim sql, sql1 As String 
sql = "select " For i = 0 To List1.ListCount - 1  If List1.Selected(i) Then     If Trim(sql1) = "" Then        sql1 = List1.List(i)     Else        sql1 = sql1 & ", " & List1.List(i)     End If  End If Next 
If Trim(sql1) = "" Then    sql1 = "*" End If 
sql = sql & sql1 & " from tableabc" 
Adodc1.RecordSource = sql Adodc1.Refresh Set DataGrid1.DataSource = Adodc1 End Sub 
  
'======================================================== '二、如何对文件进行二进制读写 '======================================================== Dim getValue() As Byte 
Private Sub Command1_Click() Open "C:\1.cmd" For Binary Access Write As #2      Put #2, , getValue() Close #2 
End Sub 
Private Sub Form_Load() 
Open "C:\command.com" For Binary Access Read As #1       ReDim getValue(FileLen("C:\command.com"))       Get #1, , getValue Close #1 End Sub 
'======================================================== '三、字符串处理算法(1) ' 求出已知字符串中出现频率最高的字串内容及出现次数 '======================================================== Private Sub Command1_Click() Dim a, b As String Dim i As Long Dim c, t As Long 
c = 0 a = "abcdefcdedgcdeethcdenbicde" For i = 1 To Len(a)     t = 0     b = a     If i = Len(a) - 2 Then Exit For     Do Until InStr(b, Mid(a, i, 3)) = 0        b = Right(b, Len(b) - InStr(b, Mid(a, i, 3)))        t = t + 1     Loop     If t > c Then        c = t     End If Next MsgBox c End Sub 
'======================================================== '四、DriveListBox,DirListBox,FileListBox三个控件的使用 '======================================================== 
Private Sub Dir1_Change() File1.Path = Dir1.Path End Sub 
Private Sub Drive1_Change() Dir1.Path = Drive1.Drive End Sub 
Private Sub File1_Click() Text1.Text = File1.Path & "\" & File1.FileName End Sub 
'======================================================== '五、如何对目录进行操作 (使用FSO) '======================================================== 
Private Sub Command1_Click() Dim fso As Object Dim SourcePath, TargetPath As String SourcePath = Text1.Text TargetPath = Text2.Text Set fso = CreateObject("Scripting.FileSystemObject") If fso.FolderExists(TargetPath) Then    fso.CopyFolder SourcePath & "*.*", TargetPath    fso.CopyFile SourcePath & "*.*", TargetPath Else    fso.CreateFolder (TargetPath)    fso.CopyFolder SourcePath & "*.*", TargetPath    fso.CopyFile SourcePath & "*.*", TargetPath End If Set fso = Nothing MsgBox "复制完成" End Sub 
Private Sub Command2_Click() Dim fso As Object Dim TargetPath As String TargetPath = "D:\Test" Set fso = CreateObject("Scripting.FileSystemObject") fso.DeleteFolder TargetPath, True Set fso = Nothing MsgBox "删除成功" End Sub 
'======================================================== '六、如何取出DataGrid控件选定行的内容 '======================================================== 
Private Sub DataGrid1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) DataGrid1.Row = DataGrid1.RowContaining(Y) MsgBox DataGrid1.Columns(0).Text End Sub 
Private Sub Form_Load() Adodc1.ConnectionString = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=test;Data Source=SERVER" Adodc1.CommandType = adCmdText Adodc1.RecordSource = "select * from test" Adodc1.Refresh Set DataGrid1.DataSource = Adodc1 DataGrid1.AllowUpdate = False End Sub 
'======================================================== '七、如何ADODB对象绑定DataGrid控件 '======================================================== 
Private Sub Form_Load() Dim conn As ADODB.Connection Dim rst As ADODB.Recordset 
Set conn = New ADODB.Connection Set rst = New ADODB.Recordset conn.ConnectionString = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=test;Data Source=SERVER" conn.Open , "sa" 
rst.CursorLocation = adUseClient 
rst.Open "select * from table1", conn, adOpenDynamic, adLockOptimistic Set DataGrid1.DataSource = rst 
End Sub 
'======================================================== '八、日期函数的使用以及使用FileExists判断文件是否存在 '======================================================== Private Sub Command1_Click() If IsNumeric(Text1.Text) And InStr(Text1.Text, ".") = 0 And InStr(Text1.Text, "-") = 0 Then    If CLng(Text1.Text) > 0 And CLng(Text1.Text) <= 12 Then       MsgBox DateDiff("d", DateSerial(Year(Now()), Text1.Text, 1), DateAdd("m", 1, DateSerial(Year(Now()), Text1.Text, 1)))    Else       MsgBox "Error"    End If Else    MsgBox "Error, Wrong Value" End If End Sub 
Private Sub Command2_Click() Dim fso As Object Set fso = CreateObject("Scripting.FileSystemObject")     If fso.FileExists("C:\command.com") = True Then        MsgBox "C:\Command.com 文件已存在"     Else        MsgBox "C:\Command.com 文件不存在"     End If 
Set fso = Nothing End Sub 
'======================================================== '九、十进制与二进制的简单算法。 '======================================================== 
Private Sub Command1_Click() Dim a, b As Long Dim c As String a = Text1.Text Do    If a = 0 Then Exit Do    If a > 1 Then       b = a Mod 2    Else       b = a    End If    c = CStr(b) & CStr(c)    a = a \ 2 Loop Text2.Text = c End Sub 
Private Sub Command2_Click() Dim a, b As String Dim i, c, d As Long a = Text2.Text 
For i = 1 To Len(a)     c = CLng(Mid(a, i, 1))     If c = 1 Then        d = d + 2 ^ (Len(a) - i)     End If Next Text3.Text = d End Sub
  
 '======================================================== '十七、在容器中移动控件 '======================================================== Public isMove As Boolean Public bX, bY As Long 
Private Sub Form_Load() isMove = False End Sub 
Private Sub Label1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button = 1 Then    isMove = True    bX = X    bY = Y End If End Sub 
Private Sub Label1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button = 1 And isMove Then    Label1.Move X + Label1.Left - bX, Y + Label1.Top - bY End If End Sub 
Private Sub Label1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) isMove = False End Sub 
'======================================================== '十八、如何在运行程序的时候获得外部参数 '======================================================== Private Sub Form_Load() Dim ParaArray() As String Dim GetString As String Dim I As Long GetString = Trim(Command()) If InStr(GetString, "/") = 1 Then    If Len(GetString) > 1 Then       GetString = Right(GetString, Len(GetString) - 1)       ParaArray = Split(GetString, "/", -1, vbTextCompare)       For I = 0 To UBound(ParaArray())           MsgBox "Parameter " & I + 1 & ": = " & Trim(ParaArray(I))       Next    Else       MsgBox "Empty Parameter!"    End If Else    If InStr(GetString, "/") = 0 Then       MsgBox "No Parameter! "    Else       MsgBox "Wrong Format"    End If End If End Sub 
'======================================================== '十九、注册表的操作 '======================================================== 
Option Explicit Const HKEY_CLASSES_ROOT = &H80000000 Const HKEY_CURRENT_USER = &H80000001 Const HKEY_LOCAL_MACHINE = &H80000002 Const HKEY_USERS = &H80000003 Const HKEY_PERFORMANCE_DATA = &H80000004 Const HKEY_CURRENT_CONFIG = &H80000005 Const HKEY_DYN_DATA = &H80000006 Const REG_NONE = 0 Const REG_SZ = 1 Const REG_EXPAND_SZ = 2 Const REG_BINARY = 3 Const REG_DWORD = 4 Const REG_DWORD_BIG_ENDIAN = 5 Const REG_MULTI_SZ = 7 
Private Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, lpData As Any, ByVal cbData As Long) As Long Private Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long 
 Private Sub Command1_Click() Dim hKey As Long Dim DSNName, strDriver, strServer, strDatabase, strLastUser, strDBType As String 
DSNName = "myodbc" 
strDriver = "C:\\WINNT\\System32\\sqlsrv32.dll" 'SQL Server的驱动,如果用VFP可以改成相应的文件 strServer = "SERVER" strDatabase = "test" strLastUser = "sa" strDBType = "SQL Server" 
RegCreateKey HKEY_LOCAL_MACHINE, "SOFTWARE\ODBC\ODBC.INI\ODBC Data Sources", hKey RegSetValueEx hKey, DSNName, 0, REG_SZ, ByVal strDBType, Len(strDBType) + 1 
RegCreateKey HKEY_LOCAL_MACHINE, "SOFTWARE\ODBC\ODBC.INI\" & DSNName, hKey RegSetValueEx hKey, "Driver", 0, REG_EXPAND_SZ, ByVal CStr(strDriver), Len(strDriver) + 1 RegSetValueEx hKey, "Server", 0, REG_SZ, ByVal CStr(strServer), Len(strServer) + 1 RegSetValueEx hKey, "Database", 0, REG_SZ, ByVal CStr(strDatabase), Len(strDatabase) + 1 RegSetValueEx hKey, "LastUser", 0, REG_SZ, ByVal CStr(strLastUser), Len(strLastUser) + 1 End Sub 
'======================================================== '二十、TreeView的使用,及选中其中指定的节点 '======================================================== Private Sub Command1_Click() Dim nodeY As Node For Each nodeY In TreeView1.Nodes     If CStr(Trim(nodeY.Text)) = "ff" Then        nodeY.Selected = True        TreeView1.SetFocus        Exit For     End If Next End Sub 
Private Sub Form_Load() Rs1.CommandType = adCmdText Rs1.RecordSource = "select distinct biao,zu from test order by zu" Rs1.Refresh Dim Rs As ADODB.Recordset Set Rs = Rs1.Recordset 
    Set nodX = TreeView1.Nodes.Add(, , "r", "报表组  ")          i = 0     Dim TempString As String     Dim TempKey As Long     Do Until Rs.EOF Or Rs.BOF      If TempString = Rs!zu Then         Set nodeX = TreeView1.Nodes.Add("Z" & TempKey, tvwChild, "B" & i, Rs!biao)      Else         Set nodX = TreeView1.Nodes.Add("r", tvwChild, "Z" & i, Rs!zu)         Set nodeX = TreeView1.Nodes.Add("Z" & i, tvwChild, "B" & i, Rs!biao)         TempString = Rs!zu         TempKey = i      End If         Rs.MoveNext         i = i + 1     Loop End Sub 
'======================================================== '二十一、Word对象的使用(查找Word文档中是否包含指定关键字, '以及在指定位置插入字符串) '======================================================== Private Sub Command1_Click() Dim wrdApp As Object Dim f, fso As Object Dim filepath As String Dim Keywords As String 
filepath = "c:\words" Keywords = "abc" 
Set fso = CreateObject("Scripting.FileSystemObject") 
Set folders = fso.GetFolder(filepath) 
I = 0 For Each f In folders.Files     If LCase(Right(f.Name, Len(f.Name) - InStrRev(f.Name, "."))) = "doc" Then        Set wrdApp = CreateObject("Word.Application")        wrdApp.Visible = False        wrdApp.Documents.Open FileName:=filepath & "\" & f.Name          If InStr(wrdApp.ActiveDocument.Content.Text, Keywords) <> 0 Then           MsgBox f.Name        End If                wrdApp.Quit             End If Next 
 Set wrdApp = Nothing 
End Sub 
Private Sub Command2_Click() Dim wrdApp As Object Dim wrdRows, wrdCols, I As Long Dim insText As String 
wrdRows = 10: wrdCols = 10 insText = "TEST" 
Set wrdApp = CreateObject("Word.Application") wrdApp.Visible = False wrdApp.Documents.Open FileName:="C:\words\1.doc"   For I = 1 To wrdRows     wrdApp.ActiveDocument.Content.insertAfter vbCrLf Next 
wrdApp.ActiveDocument.Content.GoTo What:=3, Which:=2, Count:=wrdRows wrdApp.ActiveDocument.Content.insertAfter Space(wrdCols) & "PPPPPPPPPPPPP" 
wrdApp.ActiveDocument.Save wrdApp.Quit 
Set wrdApp = Nothing 
End Sub
 
  更多请看原贴:http://expert.csdn.net/Expert/topic/1555/1555609.xml?temp=.3376276  
 
  |