目的:从名为jg.mdb的数据库里面选出相邻“正程值”的差,并且取所有差值中的最大值为结果
代码:
Private Sub 相邻误差() Dim cn As New ADODB.Connection
Dim rst As New ADODB.Recordset
Dim m As Integer
Dim val_zc(), val_xl, val_xl1, val_xl2
Set rst = New ADODB.Recordset cn.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source= " & App.Path & "\jg.mdb;" SQL = "select 序号,正程值,回程值 from jg.mdb"
rst.Source = "jgb"
rst.Open SQL, cn, adOpenForwardOnly, adLockReadOnly
If rst.RecordCount > 2 Then
rst.MoveFirst
For m = 1 To m < rst.RecordCount + 1 Step 1
rst.MoveNext
val_zc(m) = rst.Fields("正程值")
val_xl1 = CInt(val_zc(m)) - CInt(val_zc(m + 1))
sign = 0
rst.MoveNext
val_xl2 = CInt(val_zc(m + 1)) - CInt(val_zc(m + 2))
sign = 0
If val_xl1 > val_xl2 Then
val_xl = val_xl1
Else: val_xl = val_xl2
End If
rst.MoveNext
val_xl1 = ""
val_xl2 = ""
Next m
Label26.Caption = val_xl
End IfEnd Sub错误的地方,帮忙修改一下,谢谢了!
代码:
Private Sub 相邻误差() Dim cn As New ADODB.Connection
Dim rst As New ADODB.Recordset
Dim m As Integer
Dim val_zc(), val_xl, val_xl1, val_xl2
Set rst = New ADODB.Recordset cn.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source= " & App.Path & "\jg.mdb;" SQL = "select 序号,正程值,回程值 from jg.mdb"
rst.Source = "jgb"
rst.Open SQL, cn, adOpenForwardOnly, adLockReadOnly
If rst.RecordCount > 2 Then
rst.MoveFirst
For m = 1 To m < rst.RecordCount + 1 Step 1
rst.MoveNext
val_zc(m) = rst.Fields("正程值")
val_xl1 = CInt(val_zc(m)) - CInt(val_zc(m + 1))
sign = 0
rst.MoveNext
val_xl2 = CInt(val_zc(m + 1)) - CInt(val_zc(m + 2))
sign = 0
If val_xl1 > val_xl2 Then
val_xl = val_xl1
Else: val_xl = val_xl2
End If
rst.MoveNext
val_xl1 = ""
val_xl2 = ""
Next m
Label26.Caption = val_xl
End IfEnd Sub错误的地方,帮忙修改一下,谢谢了!
解决方案 »
- 网络问题
- 请教大侠怎么从txt文本中读取数据到数据库
- 基础ADODC控件的问题,我想实现在表查询后数据显示其中两个字段的内容为什么不行?提示说无法绑定其中一个字段?
- 如何在A1列的前面插入一列,用vba实现
- 请问SQL如何查询从此日期到彼日期期间的数据?
- 高手救命:InstallSheild制作的安装程序,安装后程序的字号变了,怪异?
- TreeView里的树状结构怎么保存到文件,并且从文件恢复
- 关于流的控制,高手请进!大送分
- 还是关于AT指令的一个问题:如何让程序得知Modem的返回信息码?
- 模拟鼠标事件时,从一个窗口到另一个窗口时,事件就不发生了,如何解决?
- 请问怎么从二进制数据流的数据生成一个位图对象?
- 请教高手:VB实现多线程
Option ExplicitDim m As Integer
Dim val_zc()
Dim val_xl
Public Sub xx()
Dim cn As New ADODB.Connection
Dim rst As New ADODB.Recordset
Dim i As Integer
Dim val_xl1, val_xl2
Set rst = New ADODB.Recordset cn.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source= " & App.Path & "\jg.mdb;" SQL = "select 序号,正程值,回程值 from jg.mdb"
rst.Open SQL, cn, adOpenForwardOnly, adLockReadOnly
If rst.RecordCount > 2 Then
rst.MoveFirst
val_xl1 = rst.Fields("正程值")
Do While Not rst.EOF
rst.MoveNext
val_xl2 = rst.Fields("正程值")
m = m + 1
ReDim Preserve val_zc(m)
val_zc(m) = CInt(val_xl2) - CInt(val_xl1) '求差值
val_xl1 = val_xl2
Loop
End If
val_xl = val_zc(0)
For i = 1 To UBound(val_zc)
If val_xl < val_zc(i) Then val_xl = val_zc(i) '求最大值
Next
Label26.Caption = val_xl
End IfEnd Sub
Private Sub Form_Load()
m = -1
End Sub
set cn= nothing