以上程序完成了数据的写入工作,下面利用SQL 语句读出数据,并且把数据输入表格中,使数据合理的换行,按表格的形式输出。首先按要求绘制表格,如下图的出勤统计表,在需要进行统计的指定表格中加入域,在读取数据时应用ODBCResultSet 的Getvalue方法取得数据库中相应字段的值,并在每次取到数据后在数据后加上chr(10)使数据自动换行,在利用NOTES的NotesUIdocument.nbsp对象的fieldsettext方法为相应的域付值。请注意调整表单中表的宽度,使数据有足够的空间。如下图(略)所示员工的姓名应足够容纳三个字方可。
在统计表单中,加入“统计”操作,并下列代码输入(代码中有重复的地方已省略)
Sub Click(Source As Button) Dim workspace As New NotesUIWorkspace Dim uidoc As NotesUIdocument. Set uidoc = workspace.Currentdocument. Dim con As New ODBCConnection Dim qry As New ODBCQuery Dim result As New ODBCResultSet Dim firstName As String Dim lastName As String Dim msg As String Set qry.Connection = con Set result.Query = qry con.silentmode=True nf=uidoc.fieldgettext("nf") yf=uidoc.fieldgettext("yf") If con.ConnectTo("gwgl","sa","") Then '连接到数据库 qry.SQL = "SELECT * FROM qxj where year='" & nf & "'and month='" & yf & "'" '按下图表中用户输入的年份和月份取得的数据 result.Execute If result.IsResultSetAvailable Then Do result.NextRow qxj_xm = result.Getvalue("qxj_xm") st=st & Chr(10) & qxj_xm Call uidoc.fieldsettext("xm_1",st) tq = result.Getvalue("探亲") t= t & Chr(10) & tq Call uidoc.fieldsettext("tq",t) b = result.Getvalue("病") bing= bing & Chr(10) & b Call uidoc.fieldsettext("bing",bing) …………….. Loop Until result.IsEndOfData Call uidoc.save result.Close(DB_CLOSE) Else Messagebox “对不起,不能连接到数据库!!" Exit Sub End If con.Disconnect Else Messagebox "不能连接到数据源!!" '网络不通或其他原因不能 '连接到数据库给出提示 Exit Sub End If End Sub