解决方案 »
- 如何给自己作的控件填加右键菜单
- 如何取得毫秒?
- 求教:VB如何使用WINSOCK来实现局域网里的聊天???
- 请问有什么方法可以用系统默认的程序打开一个文件?
- vb如何实现 捕获一个程序的登录窗口 然后往填入用户名、密码 然后在点登录
- 帮我看看 这段代码(在线等)
- SQL语句 查询分析其中执行成功,但是在VB中ADODC控件执行失败
- 在TEXT1.TEXT里,怎么样追加进来的数据换行??
- 关于command1.Parameters("RETURN_VALUE")的问题——对于同时使用过sql7.0和sql2000的高手是easy的呀
- 动画效果1
- VB 如何用sendkeys模拟“ctrl+alt+del”打开任务管理器?
- 辣手问题,高分回报
rs.MoveLast这样才能得到记录数,否则可能是 -1。
If m - m_old >= 2 Then
dmin = "LFZ" & Format(CStr(m_old + 1), "0000")
Exit For
End If
ElseIf m = m_old Then
dmin = "LFZ" & Format(CStr(m + 1), "0000")
m_old = m
End If
If m - m_old >= 2 Then
dmin = "LFZ" & Format(CStr(m_old + 1), "0000")
Exit For
else
'如果m-m_old不大于2呢?
End If
ElseIf m = m_old Then
dmin = "LFZ" & Format(CStr(m + 1), "0000")
m_old = m
End If
这个是游标类型-客户游标
LFZ0001
LFZ0002
LFZ0003
。
如果删除了LFZ0002,再添加记录的话,会自动将新添加的记录赋予编号为LFZ0002。请求帮助。
Private Sub Command1_Click()
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + App.path + "\data.mdb;Jet OLEDB:Database Password=harry2000"
cn.CursorLocation = adUseClient
cn.Open
'注意编号按升序排order by 编号
rs.Open "select 编号 from admin order by 编号", cn, adOpenKeyset, adLockOptimistic
Dim rNum As Long, m As Long, m1 As Long
Dim flg As Boolean, dmin As String rNum = rs.RecordCount
If rNum = 0 Then
txtNo.Text = "LFZ0001"
Else
m = Mid(rs!编号, 4)
If m <> 1 Then
txtNo.Text = "LFZ0001"
Exit Sub
End If For i = 1 To rNum - 1
m = Mid(rs!编号, 4)
rs.MoveNext
m1 = Mid(rs!编号, 4)
If m1 - m >= 2 Then
dmin = "LFZ" & Format(CStr(m + 1), "0000")
txtNo.Text = dmin
flg = True
Exit For
End If
Next i
If Not flg Then
rs.MoveLast
m = Mid(rs!编号, 4)
dmin = "LFZ" & Format(CStr(m + 1), "0000")
txtNo.Text = dmin
End If
End IfEnd Sub
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + App.path + "\data.mdb;Jet OLEDB:Database Password=harry2000"
cn.CursorLocation = adUseClient
cn.Open
'注意编号按升序排order by 编号
rs.Open "select 编号 from admin order by 编号", cn, adOpenKeyset, adLockOptimistic
Dim rNum As Long, m As Long, m1 As Long
Dim flg As Boolean, dmin As String rNum = rs.RecordCount
If rNum = 0 Then
txtNo.Text = "LFZ0001"
Else
m = Mid(rs!编号, 4)
If m <> 1 Then
txtNo.Text = "LFZ0001"
rs.Close'''
cn.Close'''
Exit Sub
End If For i = 1 To rNum - 1
m = Mid(rs!编号, 4)
rs.MoveNext
m1 = Mid(rs!编号, 4)
If m1 - m >= 2 Then
dmin = "LFZ" & Format(CStr(m + 1), "0000")
txtNo.Text = dmin
flg = True
Exit For
End If
Next i
If Not flg Then
rs.MoveLast
m = Mid(rs!编号, 4)
dmin = "LFZ" & Format(CStr(m + 1), "0000")
txtNo.Text = dmin
End If
End If
rs.Close'''
cn.Close'''
End Sub