高分求解.两个问题???

square112 2007-01-31 03:26:31
Option Explicit

Private Sub cmdjie_Click()
Dim rs_settlement As New ADODB.Recordset
Dim rs_settlement1 As New ADODB.Recordset
Dim rs_settlement2 As New ADODB.Recordset

Dim sql As String
Dim sql1 As String
Dim sql2 As String

Dim time As Data
Dim time1 As Data

Dim var As String '用来记录category表里的车辆类型
Dim var1 As Long '用来记录两个时间的差值。以分钟来记录
Dim var2 As Long '用来记录所用的小时数
Dim var3 As Long '用来记录所用的天数
Dim var4 As Long '用来记录车辆类型的数字
Dim var5 As Long '用来记录车辆的单价
Dim var6 As Long '用来记录车辆总价
Dim var7 As Long '用来保存天数时的金额

If txtcar.Text = "" Then
MsgBox "车牌号不能为空", vbOKOnly + vbExclamation, ""
txtcar.Text = ""
Exit Sub
End If

sql = "select cl_number,cph,sj,in_time,out_time,flag,money,in_yg_id,out_yg_id,info.cl_type_xh,type_name from information as info,category as cate where info.cl_type_xh=cate.cl_type_xh and cph='" & Trim(txtcar.Text) & "' And flag = 0 "
If rs_settlement.State = adStateOpen Then rs_settlement.Close
rs_settlement.Open sql, conn, adOpenKeyset, adLockOptimistic
If rs_settlement.RecordCount > 0 Then
var = rs_settlement!type_name & ""
rs_settlement!out_time = Now()
rs_settlement!out_yg_id = usermi
time = rs_settlement!out_time & ""
time1 = rs_settlement!in_time & ""
var1 = DateDiff("m", time, time1)
End If

sql1 = "select cl_number,cph,sj,in_time,out_time,flag,money,in_yg_id,out_yg_id,info.zf_number,cl_type_xh,time_state1,time_state2,dj from information as info,fees as cate where info.cl_type_xh=cate.cl_type_xh and cph='" & Trim(txtcar.Text) & "' And flag = 0 "
If rs_settlement1.State = adStateOpen Then rs_settlement1.Close
rs_settlement1.Open sql, conn, adOpenKeyset, adLockOptimistic
If rs_settlement1.RecordCount > 0 Then
var2 = var1 / 60 '取小时
var3 = var2 / 24 '取天数
var3 = Fix(var3)
var4 = rs_settlement!cl_type_xh
If var4 Then
Select Case var4
Case 1
var7 = var3 * 20
Case 2
var7 = var3 * 30
Case 3
var7 = var3 * 40
Case 4
var7 = var3 * 20
Case 5
var7 = var3 * 30
End Select
End If
End If
var2 = Fix(var2)
sql2 = "select * from fees where time_state1=<var2 and time_state2>var2"
If rs_settlement2.State = adStateOpen Then rs_settlement2.Close
rs_settlement2.Open sql, conn, adOpenKeyset, adLockReadOnly
If rs_settlement2.RecordCount > 0 Then
var5 = rs_settlement2!dj & ""
var6 = var7 + var1 * var4
End If
txttime.Text = Val(var3) & "天" & Val(var2) & "小时"
txtjie.Text = Val(var6)
txttype.Text = Val(var)
rs_settlement.Close
rs_settlement1.Close
rs_settlement2.Close



End Sub

1.可以像这样付值吗??rs_settlement!out_time = Now()
rs_settlement!out_yg_id = usermi

2.为什么最后的txttime,txtjie,txttype显示出来都是没有结果的呀.找了半天不知道原因呀.
...全文
177 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
square112 2007-02-01
  • 打赏
  • 举报
回复
写在txttime.Text = Val(var3) & "天" & Val(var2) & "小时"
txtjie.Text = Val(var6)
txttype.Text = Val(var)
这个的前头是吗???
debug.print time & "/" & time1 & "/" & var1
vbman2003 2007-02-01
  • 打赏
  • 举报
回复
If rs_settlement.State = adStateOpen Then rs_settlement.Close
rs_settlement.Open sql, conn, adOpenKeyset, adLockOptimistic
If rs_settlement.RecordCount > 0 Then
var = rs_settlement!type_name & ""
rs_settlement!out_time = Now()
rs_settlement!out_yg_id = usermi
rs_settlement.update
'然后看一下数据库,赋值成功了吗?
time = rs_settlement!out_time & ""
time1 = rs_settlement!in_time & ""
var1 = DateDiff("m", time, time1)

'这样看看相关变量的值,是不是你要的:
debug.print time & "/" & time1 & "/" & var1
End If
square112 2007-02-01
  • 打赏
  • 举报
回复
有数据存入进去了的.成功了的.然后想把现存入的数据调出来.对头.就是rs_settlement!out_time掉出来比较
上官云峰 2007-02-01
  • 打赏
  • 举报
回复
If rs_settlement.State = adStateOpen Then rs_settlement.Close
rs_settlement.Open sql, conn, adOpenKeyset, adLockOptimistic
If rs_settlement.RecordCount > 0 Then
var = rs_settlement!type_name & ""
rs_settlement!out_time = Now()
rs_settlement!out_yg_id = usermi
time = rs_settlement!out_time & ""
time1 = rs_settlement!in_time & ""
var1 = DateDiff("m", time, time1)
End If

这是什么啊,你是想实现现存入数据库在调出把

If rs_settlement.State = adStateOpen Then rs_settlement.Close
rs_settlement.Open sql, conn, adOpenKeyset, adLockOptimistic
If rs_settlement.RecordCount > 0 Then
var = rs_settlement!type_name & ""
rs_settlement!out_time = Now()
rs_settlement!out_yg_id = usermi
rs_settlement.update
'然后看一下数据库,赋值成功了吗?
time = rs_settlement!out_time & ""
time1 = rs_settlement!in_time & ""
var1 = DateDiff("m", time, time1)
End If
square112 2007-02-01
  • 打赏
  • 举报
回复
有数据存进去了.但是最后的txttime,txtjie,txttype的值还是显示不出来呀.应该怎么解决??
vbman2003 2007-02-01
  • 打赏
  • 举报
回复
这个:
rs_settlement.Open sql, conn, adOpenKeyset, adLockOptimistic
If rs_settlement.RecordCount > 0 Then
var = rs_settlement!type_name & ""
rs_settlement!out_time = Now()
rs_settlement!out_yg_id = usermi
time = rs_settlement!out_time & ""
time1 = rs_settlement!in_time & ""
var1 = DateDiff("m", time, time1)
End If

其中:
rs_settlement!out_time = Now()
rs_settlement!out_yg_id = usermi

没有更新记录集吧?后面似乎要加上rs_settlement.update 吧?
square112 2007-02-01
  • 打赏
  • 举报
回复
什么意思??麻烦一下讲解清楚呢??
ceagle 2007-01-31
  • 打赏
  • 举报
回复
2.单步调一下吧
ceagle 2007-01-31
  • 打赏
  • 举报
回复
1.
Rs.MoveFirst
Do While Not Rs.EOF
rs.Fields(1).Value = "***"
Rs.MoveNext
Loop

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧