谁解决了这个简单的问题,我把分都给他(300 分)!在线等待!(急!急!急!!!)

风口猪炒股指标 2003-02-11 01:08:38
各位大哥:
我的问题1:怎样把一个数据库的某个表中的所有记录(只显示一个字段)分页显示在一个form中,并且点击某个记录,再弹出一个form来显示这条记录的所有信息!
请不要用什么datagrid的控件。
我的问题2:怎样在程序中添加各种控件,比如说text ,label可以吗?

changeself@hengch.com
...全文
180 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
龙华 2003-02-19
  • 打赏
  • 举报
回复
to 楼主:不是大家都不会,是你根本没看懂大家的回答。
moyaxu 2003-02-19
  • 打赏
  • 举报
回复
我给你贴一个规范
1. 规范的必要性
使用一致的编码规范的主要目的是标准化应用程序的代码结构和风格,使得你和其它人可以容易地读懂和理解代码。
2. 对象命名规范
为了容易地分辨出对象的类型,我们应该在对象名字前加前缀,前缀由数个小写字母组成(一般为2个或3个),前缀后面是由表意性强的一个单词或多个单词组成,每个单词的首字母大写,其它字母小写。
2.1. 对象命名前缀表
对象类型 前缀 范例
常用控件
3D Panel pnl pnlGroup
ADO Data ado adoBiblio
Animated button ani aniMailBox
Check box chk chkReadOnly
Combo box, drop-down list box cbo cboEnglish
Command button cmd cmdExit
Common dialog dlg dlgFileOpen
Communications com comFax
Control (用在程序中当类型未知时) ctr ctrCurrent
Data dat datBiblio
Data-bound combo box dbcbo dbcboLanguage
Data-bound grid dbgrd dbgrdQueryResult
Data-bound list box dblst dblstJobType
Data combo dbc dbcAuthor
Data grid dgd dgdTitles
Data list dbl dblPublisher
Data repeater drp drpLocation
Date picker dtp dtpPublished
Directory list box dir dirSource
Drive list box drv drvTarget
File list box fil filSource
Flat scroll bar fsb fsbMove
Form frm frmEntry
Frame fra fraLanguage
Gauge gau gauStatus
Graph gra graRevenue
Grid grd grdPrices
Hierarchical flexgrid flex flexOrders
Horizontal scroll bar hsb hsbVolume
Image img imgIcon
Image combo imgcbo imgcboProduct
ImageList ils ilsAllIcons
Label lbl lblHelpMessage
Lightweight check box lwchk lwchkArchive
Lightweight combo box lwcbo lwcboGerman
Lightweight command button lwcmd lwcmdRemove
Lightweight frame lwfra lwfraSaveOptions
Lightweight horizontal scroll bar lwhsb lwhsbVolume
Lightweight list box lwlst lwlstCostCenters
Lightweight option button lwopt lwoptIncomeLevel
Lightweight text box lwtxt lwoptStreet
Lightweight vertical scroll bar lwvsb lwvsbYear
Line lin linVertical
List box lst lstPolicyCodes
ListView lvw lvwHeadings
MAPI message mpm mpmSentMessage
MAPI session mps mpsSession
MCI mci mciVideo
Menu mnu mnuFileOpen
Month view mvw mvwPeriod
MS Chart ch chSalesbyRegion
MS Flex grid msg msgClients
MS Tab mst mstFirst
OLE container ole oleWorksheet
Option button opt optGender
Picture box pic picVGA
Picture clip clp clpToolbar
ProgressBar prg prgLoadFile
Remote Data rd rdTitles
RichTextBox rtf rtfReport
Shape shp shpCircle
Slider sld sldScale
Spin spn spnPages
StatusBar sta staDateTime
SysInfo sys sysMonitor
TabStrip tab tabOptions
Text box txt txtLastName
Timer tmr tmrAlarm
Toolbar tlb tlbActions
TreeView tre treOrganization
UpDown upd updDirection
Vertical scroll bar vsb vsbRate

3. 常量与变量命名规范
为了容易地分辨出常量和变量的作用域和数据类型,我们应该在常量和变量名字前加作用域和数据类型前缀,前缀后面是由表意性强的一个单词或多个单词组成,每个单词的首字母大写,其它字母小写。
3.1. 作用域定义
作用域 声明 有效范围
过程级 过程或函数中的“Private” 声明 该过程或函数内
模块级 表单或模块声明区中的“Private”声明 该表单或模块内
全局 模块声明区中的“Public”声明 整个应用程序

3.2. 作用域前缀表
作用域 前缀 范例
过程级 无 dblVelocity
模块级 m mblnCalcInProgress
全局 g gstrUserName

3.3. 数据类型前缀表
数据类型 前缀 范例
Boolean bln blnFound
Byte byt bytRasterData
Collection object col colWidgets
Currency cur curRevenue
Date (Time) dtm dtmStart
Double dbl dblTolerance
Error err errOrderNum
Integer int intQuantity
Long lng lngDistance
Object obj objCurrent
Single sng sngAverage
String str strFName
User-defined type udt udtEmployee
Variant vnt vntCheckSum

4. 代码注释规范
所有过程和函数的开头都应该有一段描述,该描述应该包含下列几部分:
Ø 功能
描述该过程或函数实现的功能,不必描述具体的实现方法
Ø 参数
列出该过程或函数的所有参数名称和含义,无参数时这部分可以省略
Ø 输出
解释返回值的含义,无返回值时这部分可以省略
5. 缩进单位为4个空格
moyaxu 2003-02-19
  • 打赏
  • 举报
回复
你的所有的用ado data control的地方我大致看了看,肯定其实都不用用它的,完全可以用代码实现,比如Adodc1.RecordSource = query你可以用rs.open strSql,adoConn,....来代替,然后Set DataGrid2.DataSource =rs(rs就是一个ado recordset),还有Adodc1.RecordSource = query2,这是一个更新语句,不能这样写,你可以adoconn.execute query2(这个变量也不应该叫query)
  • 打赏
  • 举报
回复
string变量就都应该以str开始,所有的integer都应以int开头
请问在变量的命名上还有什么规则?
先谢谢你了,看样子我要从命名变量名上学起了!
moyaxu 2003-02-19
  • 打赏
  • 举报
回复
我的意思是控件名应该重新定义,比如删除的按钮,你就应该定义成类似cmdDelete,你的所有的string变量就都应该以str开始,所有的integer都应以int开头,这样别的对你的程序不了解的人很容易就能弄懂你程序的意思,起码我不用看你的每一个变量含义而去费力的找了。
enhydraboy 2003-02-19
  • 打赏
  • 举报
回复
Use Control Array and Scroll bar control.
If you want detail,email to me sinodba@citiz.net
  • 打赏
  • 举报
回复
各位大哥:
我的问题1:怎样把一个数据库的某个表中的所有记录(只显示一个字段)分页显示在一个form中,并且点击某个记录,再弹出一个form来显示这条记录的所有信息!
请不要用什么datagrid的控件。
我的问题2:怎样在程序中添加各种控件,比如说text ,label可以吗?
我都把问题描述到这个份上了,你们大家还嫌说得不明白,唉!有的人这书是不是白念了???
此问题我已解决了!!(明天再贴源程序!)
龙华 2003-02-19
  • 打赏
  • 举报
回复
呵呵,我有一个学位也是机械。
你的第一个问题,我不知道是问分页还是问如何传递变量(如果是后者,只要定义一个全局变量传递个id值过去就可以了)。
你的第二个问题,不是重新定义控件,而是动态加载删除控件。
写程序的时候,你还没上大学。
  • 打赏
  • 举报
回复
哈,我人刚涉足程序,故基础不是很好!我以前是做机械的,请大家原谅!
但是,为什么要重新定义控件?
大多数情况其实用不着ADO DATA CONTROL的?
你们写程序几年了?
dc2222 2003-02-18
  • 打赏
  • 举报
回复
为什么要这样?别浪费国家资源.
moyaxu 2003-02-18
  • 打赏
  • 举报
回复
我想试着看你的程序,但发现你的程序的可读性太差:所有的变量定义没有规范,你的所有控件更本没有重新定义,建议你如果要问问这种问题的话,想要别人读懂你的程序的话,首先把基本打扎实。还有个人觉得:大多数情况其实用不着ADO DATA CONTROL的。
vision_lee 2003-02-18
  • 打赏
  • 举报
回复
UP
13161795500 2003-02-18
  • 打赏
  • 举报
回复
既然大家都回答了,我也不好说什么。我想你要以解决问题为主,不要在乎什么控件。
  • 打赏
  • 举报
回复
都别做程序员了,都回家种地吧!!
  • 打赏
  • 举报
回复
怎么大家都不会呀??????????
简易无忌 2003-02-12
  • 打赏
  • 举报
回复
'您想必与MSHFlexGrid有仇,发誓要用控件数组,试试以下方法
'窗体上放命令按钮command1 和 控件数组Label1(0),然后贴上下面代码。

Private Sub Command1_Click()
Dim i As Integer
i = Label1.Count
Load Label1(i)
Label1(i).Left = Label1(0).Left
Label1(i).Top = Label1(0).Top + (Label1(0).Height + 60) * i
Label1(i).Visible = True
End Sub

Private Sub Form_Load()
Label1(0).BorderStyle = 1
End Sub
northwolves 2003-02-12
  • 打赏
  • 举报
回复
2.

Private WithEvents picture1 As PictureBox
Private WithEvents cmdok As CommandButton
Private WithEvents cmdcancel As CommandButton



Private Sub Form_Load()
Set picture1 = Form1.Controls.Add("VB.picturebox", "picture1", Form1)
picture1.Visible = True
picture1.Move 2000, 2000, 3000, 2000
Set cmdok = Form1.Controls.Add("VB.CommandButton", "cmdOk", picture1)
cmdok.Visible = True
cmdok.Move 100, 100, 1000, 500
cmdok.Caption = "确认(&Y)"
Set cmdcancel = Form1.Controls.Add("VB.CommandButton", "cmdcancel", picture1)
cmdcancel.Visible = True
cmdcancel.Move 1200, 100, 1000, 500
cmdcancel.Caption = "取消(&C)"
End Sub

龙华 2003-02-11
  • 打赏
  • 举报
回复
1.如下。
set rs=server.createobject("ADODB.Recordset")
rs.open strsql,strconn,1,1
pagecountNo=32
if pageNo="" then
pageNo=1
else
pageno=具体页数
end if

if not rs.eof then
rs.PageSize = pagecountNo
LastPage = rs.PageCount
rs.AbsolutePage = PageNo
for i=1 to pagecountNo
msgbox rs(0)
..........................
2.如楼上。
毛仁胜 2003-02-11
  • 打赏
  • 举报
回复
问题一:必须先算出总的记录个数,这样才可以做分页功能,每页多少个,比如20个,用总记录数(比如100)除以每页记录数,就得出总共页数(当然是5页),然后用一个非常简单的控件:List或Combo,用For...Next或While...Wend语句加进控件去,然后在控件的Click事件做你要做的事情(显示另一个Form......)

比如:For i = 1 to 20'(每页个数)
Combo1.AddItem rs!字段名
rs.movenext
Next

问题二:用Dim WithEvents <变量名> as VB.ComboBox
当然,事先要放一个控件(Combo1)
然后:Set <变量名> = Combo1就可以了。

这些功能我已经做过n次了...............................
_131_ 2003-02-11
  • 打赏
  • 举报
回复
用 树 控件!
如果你还不想用的话,这个问题的标题要改一下了
“谁解决了这个极为复杂的问题,我把分都给他(300 分)!在线等待!(急!急!急!!!)”
加载更多回复(3)

1,216

社区成员

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

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