CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VB >  基础类

求助(对象变量或with块变量未设置)

楼主upc_boy()2006-03-04 11:06:56 在 VB / 基础类 提问

我是个新手,做一个dao,dbgrid绑定data,运行时说:对象变量或with块变量未设置.  
  下面是MDI子窗口的源码:  
  Option   Explicit  
  Private   seditid   As   String  
  Private   smenudescription   As   String  
  Private   dbprimary   As   Database  
  Private   rslistdata   As   Recordset  
  Private   frmmdiref   As   MDIForm  
   
  Public   Property   Get   editid()   As   String  
  editid   =   seditid  
  End   Property  
   
  Public   Sub   display(dbinput   As   Database,   frmparent   As   MDIForm,   sdatatype   As   String,   smenuitemdesc   As   String)  
  Dim   itemreturned   As   ListItem  
  Dim   fldloop   As   Field  
  Dim   i   As   Integer  
  Set   dbprimary   =   dbinput  
  Set   frmmdiref   =   frmparent  
  smenudescription   =   smenuitemdesc  
  Me.Caption   =   sdatatype  
  '从此处往下调试时出现以上问题,rslistdata相关的属性全不对  
  Set   rslistdata   =   dbprimary.OpenRecordset("QryList"   &   fnremovespaces(sdatatype),   dbOpenDynaset,   dbSeeChanges)  
  rslistdata.MoveLast  
  rslistdata.MoveFirst  
  If   rslistdata.RecordCount   <=   1000   Then  
  ctlGrid.Visible   =   False  
  ctlGrid.ZOrder   1  
  ctlListView.ZOrder   0  
  ctlListView.Visible   =   True  
  Else  
  ctlGrid.Visible   =   True  
  ctlGrid.ZOrder   0  
  ctlListView.ZOrder   1  
  ctlListView.Visible   =   False  
  Set   ctldatactrl.Recordset   =   rslistdata  
  ctldatactrl.Refresh  
  seditid   =   ctlGrid.Columns(0).Text  
  Exit   Sub  
  End   If  
  ctlListView.View   =   lvwReport  
  ctlListView.Sorted   =   True  
  For   i   =   1   To   rslistdata.Fields.Count   -   1  
  ctlListView.ColumnHeaders.add   ,   "Column"   &   i,   rslistdata.Fields(i).Name  
  Next   i  
  If   Not   rslistdata.EOF   Then  
  seditid   =   rslistdata.Fields(0)  
  End   If  
  Do   While   Not   rslistdata.EOF  
  Set   itemreturned   =   ctlListView.ListItems.add(,   "Item"   &   rslistdata.Fields(0),   rslistdata.Fields(1))  
  For   i   =   2   To   rslistdata.Fields.Count   -   1  
  itemreturned.SubItems(i   -   1)   =   rslistdata.Fields(i)   &   ""  
  Next   i  
  rslistdata.MoveNext  
  Loop  
  End   Sub  
  Private   Function   fnremovespaces(sinput   As   String)   As   String  
  Dim   stmp   As   String  
  Dim   i   As   Integer  
  For   i   =   1   To   Len(sinput)  
  If   Mid$(sinput,   i,   1)   <>   ""   Then  
  stmp   =   stmp   &   Mid$(sinput,   i,   1)  
  End   If  
  Next   i  
  fnremovespaces   =   stmp  
  End   Function  
   
   
  Private   Sub   ctlListView_ColumnClick(ByVal   ColumnHeader   As   mscomctlLib.ColumnHeader)  
  If   ctlListView.SortKey   =   ColumnHeader.Index   -   1   Then  
  If   ctlListView.SortOrder   =   lvwAscending   Then  
  ctlListView.SortOrder   =   lvwDescending  
  Else  
  ctlListView.SortOrder   =   lvwAscending  
  End   If  
  Else  
  ctlListView.SortOrder   =   lvwAscending  
  ctlListView.SortKey   =   ColumnHeader.Index   -   1  
  End   If  
  End   Sub  
   
  Private   Sub   ctlListView_ItemClick(ByVal   Item   As   mscomctlLib.ListItem)  
  seditid   =   Mid$(Item.Key,   5)  
  End   Sub  
   
  Private   Sub   Form_Activate()  
  frmmdiref.activateeditmenu  
  End   Sub  
  Private   Sub   form_deactivate()  
  frmmdiref.deactivateeditmenu  
  End   Sub  
   
  Private   Sub   Form_Resize()  
  On   Error   Resume   Next  
  ctlListView.Height   =   Me.ScaleHeight   -   (2   *   ctlListView.Top)  
  ctlListView.Width   =   Me.ScaleWidth   -   (2   *   ctlListView.Left)  
  ctlGrid.Height   =   Me.ScaleHeight   -   (2   *   ctlGrid.Top)  
  ctlGrid.Width   =   Me.ScaleWidth   -   (2   *   ctlGrid.Left)  
  End   Sub  
  Public   Sub   activateeditmenu()  
  mnueditseparator.Visible   =   True  
  mnueditadd.Caption   =   "Add"   &   ActiveForm.menuitem  
  mnueditadd.Visible   =   True  
  mnueditmodify.Caption   =   "Modify"   &   ActiveForm.menuitem  
  mnueditmodify.Visible   =   True  
  mnueditdelete.Caption   =   "Delete"   &   ActiveForm.menuitem  
  mnueditdelete.Visible   =   True  
  End   Sub  
  Public   Sub   deactivateeditmenu()  
  mnueditseparator.Visible   =   False  
  mnueditadd.Visible   =   False  
  mnueditmodify.Visible   =   False  
  mnueditdelete.Visible   =   False  
  End   Sub  
   
  Private   Sub   Form_Unload(cancel   As   Integer)  
  frmmdiref.deactivateeditmenu  
  End   Sub  
  Private   Sub   ctlgrid_rowcolchange(lastrow   As   Variant,   ByVal   lastcol   As   Integer)  
  seditid   =   ctlGrid.Columns(0).Text  
  End   Sub  
   
   
  问题点数:10、回复次数:0Top

相关问题

  • “对象变量或with块变量未设置”是什么意思?
  • 对象变量或With块变量未设置的错误!
  • 奇怪--对象变量或With块变量未设置
  • 对象变量未设置??
  • 请问:实时错误'91',对象变量或with块变量未设置.是什么回事?
  • 是时错误'91'对象变量或with块变量未设置~这是那里错误`~大家帮个忙``
  • 更改sql连接后出现错误,“对象变量或with块变量为设置”
  • Load一个窗体的时候为什么会报“对象变量或With块变量未设置”的错误?
  • 实时错误‘91’:对象变量或WITH变量未设置。
  • “未设置对象变量或With Block变量”

关键词

  • me
  • ctllistview
  • 变量
  • rslistdata
  • frmmdiref
  • dbprimary
  • ctlgrid
  • sdatatype
  • sortorder
  • columnheader

得分解答快速导航

  • 帖主:upc_boy

相关链接

  • Visual Basic类图书
  • Visual Basic类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo