用户控件,属性值一直无法正确传送?请求帮忙

bee6803 2013-03-23 12:19:25
'这个过程是对用户控件属性进行赋值的过程,可是赋值过后,总会还有一个用户控件数组的值,没有赋值到?比如目前有10行10列,最后一行cantai1(9).RoomName就会为空值。不知是怎么回事?
Function RoomNameStatus(strRoomStyle As String, strStauts As String)
Dim strSql As String
Dim temp As New ADODB.Recordset
Dim intK As Integer
If strStauts = "全部" Then
strSql = "select rid,rname,rtstate from rooms where roomtype='" & Trim(strRoomStyle) & "'"
Else
strSql = "select rid,rname,rtstate from rooms where roomtype='" & Trim(strRoomStyle) & "'" & " And rtstate= " & " '" & Trim(strStauts) & "'"
End If
If temp.State = 1 Then temp.Close
temp.Open strSql, Con, adOpenDynamic, adLockReadOnly
temp.MoveFirst
intK = 0
Do While Not temp.EOF
With CanTai1(intK)
.RoomName = temp.Fields("rname").Value
.RoomNo = temp.Fields("rid").Value
.RoomBackColor = temp.Fields("rtstate").Value
End With
Debug.Print CanTai1(intK).RoomName
Debug.Print intK
intK = intK + 1
temp.MoveNext
Loop
temp.Close
End Function


上面程序是获取用户控件值的。
------------------------------------------------
下面是用户控件过程代码
Option Explicit
Private mstrRoomName As String
Private mstrRoomNo As String
Private mintRoomRenShu As Integer
Private mintRoomMoney As String
Private mstrRoomBackColor As String
Private mblnIsSelect As Boolean
'Private mstrLabStatus As String
Public Event Click()

'属性:是否选中
Public Property Let IsSelect(ByVal New_Value As Boolean)
mblnIsSelect = New_Value
ShaSelect.Visible = New_Value
End Property
Public Property Get IsSelect() As Boolean
IsSelect = mblnIsSelect
End Property

'属性:餐台编码
Public Property Get RoomNo() As String
RoomNo = mstrRoomNo
End Property
Public Property Let RoomNo(ByVal New_Value As String)
mstrRoomNo = New_Value
LabCanTaiNo.Caption = mstrRoomNo
PropertyChanged "RoomNo"
End Property

'属性:餐台名称
Public Property Get RoomName() As String
RoomName = mstrRoomName
End Property
Public Property Let RoomName(ByVal New_Value As String)
mstrRoomName = New_Value
LabCanTaiName.Caption = mstrRoomName
PropertyChanged "RoomNanme"
End Property

'属性:餐台状态值
Public Property Get RoomBackColor() As String
RoomBackColor = mstrRoomBackColor
End Property
Public Property Let RoomBackColor(ByVal New_Value As String)
mstrRoomBackColor = New_Value
Select Case New_Value
Case "空闲"
LabCanTaiStatus.Caption = "空闲"
Picture2.BackColor = strKeYongTaiBackColor
Case "占用"
LabCanTaiStatus.Caption = "占用"
Picture2.BackColor = strZhanYongTaiBackColor
Case "停用"
LabCanTaiStatus.Caption = "停用"
Picture2.BackColor = strTingYongTaiBackColor
Case "预定"
LabCanTaiStatus.Caption = "预定"
Picture2.BackColor = strYiDingTaiBackColor
Case "打扫"
LabCanTaiStatus.Caption = "打扫"
Picture2.BackColor = strDaSaoTaiBackColor
End Select

PropertyChanged "RoomBackColor"
End Property

'属性:餐台就餐人数
Public Property Get RoomRenShu() As Integer
RoomBackColor = mstrRoomBackColor
End Property
Public Property Let RoomRenShu(ByVal New_Value As Integer)
mintRoomRenShu = New_Value
LabRenShu.Caption = "人数:" & Str(mintRoomRenShu)
LabRenShu.Visible = True
PropertyChanged "RoomRenShu"
End Property

'属性:餐台就餐消费总金额
Public Property Get RoomMoney() As String
RoomMoney = mintRoomMoney
End Property
Public Property Let RoomMoney(ByVal New_Value As String)
RoomMoney = New_Value
LabMoney.Caption = "总额¥:" & Trim(RoomMoney)
LabMoney.Visible = True
PropertyChanged "RoomMoney"
End Property

Private Sub LabCanTaiName_Click()
strRoomNo = LabCanTaiNo.Caption
strRoomName = LabCanTaiName.Caption
RaiseEvent Click
End Sub

Private Sub LabCanTaiNo_Click()
strRoomNo = LabCanTaiNo.Caption
strRoomName = LabCanTaiName.Caption
RaiseEvent Click
End Sub

Private Sub LabCanTaiStatus_Click()
strRoomNo = LabCanTaiNo.Caption
strRoomName = LabCanTaiName.Caption
RaiseEvent Click

End Sub

Private Sub LabMoney_Click()
strRoomNo = LabCanTaiNo.Caption
strRoomName = LabCanTaiName.Caption
RaiseEvent Click
End Sub

Private Sub LabRenShu_Click()
strRoomNo = LabCanTaiNo.Caption
strRoomName = LabCanTaiName.Caption
RaiseEvent Click
End Sub

Private Sub Picture1_Click()
strRoomNo = LabCanTaiNo.Caption
strRoomName = LabCanTaiName.Caption
RaiseEvent Click

End Sub

Private Sub Picture2_Click()
strRoomNo = LabCanTaiNo.Caption
strRoomName = LabCanTaiName.Caption
RaiseEvent Click
End Sub

Private Sub UserControl_Initialize()
LabCanTaiName.Left = (Picture2.Width - LabCanTaiName.Width) / 2
End Sub
...全文
109 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
bee6803 2013-03-28
  • 打赏
  • 举报
回复
谢谢楼上的解答
Tiger_Zhao 2013-03-25
  • 打赏
  • 举报
回复
你首选应该检查取得的记录集:
1)记录数是否不足10条?
2)rname 字段是否为空?
worldy 2013-03-24
  • 打赏
  • 举报
回复
引用 1 楼 c0631106233 的回复:
PropertyChanged "RoomNanme" ?? PropertyChanged "RoomName"
这个不是必须的,如果在设计时的属性设置不需要保存,那么 PropertyChanged 是不需要的
酷心 2013-03-23
  • 打赏
  • 举报
回复
PropertyChanged "RoomNanme" ?? PropertyChanged "RoomName"
内容概要:本文详细介绍了一个基于C++语言开发的疫苗接种和儿童体检系统的设计与实现全过程,涵盖项目背景、目标意义、架构设计、核心功能模块、数据库实现、API接口规范、前后端代码实现及部署应用等多个方面。系统采用分层架构与模块化设计,实现了儿童信息管理、疫苗接种记录、体检数据录入、多用户权限控制、数据统计分析、异常预警、安全加密与日志审计等核心功能,并通过MySQL数据库进行数据持久化,结合Qt实现图形化界面,支持高并发、数据脱敏、多平台对接与自动化部署。项目强调数据安全、隐私保护与系统可扩展性,适用于社区医疗、疾控中心、学校及医院等场景。; 适合人群:具备C++编程基础,熟悉数据库操作和基本软件工程流程的开发人员、计算机及相关专业学生、医疗信息化项目开发者,以及希望了解完整医疗管理系统开发流程的技术人员。; 使用场景及目标:①学习如何使用C++构建完整的医疗信息管理系统;②掌握数据库设计、前后端交互、权限控制、多线程处理和GUI开发等关键技术;③应用于社区卫生服务、学校健康管理、疾控数据统计等实际业务场景,提升儿童健康管理水平;④作为课程设计、毕业设计或实际项目的参考模板。; 阅读建议:建议读者结合文档中的代码示例与数据库脚本,搭建本地开发环境进行实践操作,重点关注系统架构设计、模块解耦、安全机制与前后端交互逻辑,深入理解各功能模块的实现原理,并尝试在此基础上进行功能扩展,如接入移动端或增加AI分析模块。

1,217

社区成员

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

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