首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >有没有一种不用表格就能在MS-Access中创建表单的方法?

有没有一种不用表格就能在MS-Access中创建表单的方法?
EN

Stack Overflow用户
提问于 2020-02-10 22:38:36
回答 2查看 47关注 0票数 1

我想在ms-Access中显示对the服务(几行)的调用结果。为此,我创建了一个defaultView =1 (=连续表单)的表单。

现在我想知道我是否可以在我的表单中直接使用来自Now服务的显示结果。这意味着不创建一个表,然后使用recordsource-property选择该表。

在MS-Access中,有没有一种不用表格就能以连续形式显示数据的方法?

我尝试自己设置记录集,如下所示:

代码语言:javascript
运行
复制
Private Sub Form_Load()

  Set m_Dataset = CurrentDb.OpenRecordset("Test", RecordsetTypeEnum.dbOpenDynamic)
  Call m_Dataset.AddNew
  m_Dataset("OutOfThinAir") = "Hallo"
  Set Me.Recordset = m_Dataset

End Sub

但是OpenRecordset会引发错误“无效参数”。

我还想过在不使用表名的情况下将记录源设置为select语句(在oracle中应该是"Select ... from dual"),但我没有找到有效的语句。"SELECT 1 from dual;“肯定不起作用。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-02-11 00:15:08

在Erik A I的帮助下,我找到了一个可行的解决方案:

代码语言:javascript
运行
复制
Private Sub Form_Load()

  Dim rstADO As ADODB.Recordset
  Set rstADO = New ADODB.Recordset
  rstADO.Fields.Append "OutOfThinAir", adVarChar, 100, adFldMayBeNull
  rstADO.LockType = adLockOptimistic
  rstADO.Open

  rstADO.Addnew
  rstADO.Fields("OutOfThinAir") = "Hello"
  rstADO.Update
  rstADO.Addnew
  rstADO.Fields("OutOfThinAir") = "Du"
  rstADO.Update

  Set Me.Recordset = rstADO
End Sub

顺便说一下,为了使用常量和"ADODB.Recordset“作为变量类型,我不得不添加"Microsoft ActiveX Data Objects 6.1 Library”作为引用。

票数 1
EN

Stack Overflow用户

发布于 2020-02-10 22:52:02

是的,但您需要使用ADODB记录集,而不是DAO记录集。

例如。

代码语言:javascript
运行
复制
Dim m_Dataset As New ADODB.Recordset
m_Dataset.Fields.Append "OutOfThinAir",adVarWChar, 6, adFldUpdatable
m_Dataset.Open
m_Dataset.AddNew 'No call!
m_Dataset("OutOfThinAir") = "Hallo"
Set Me.Recordset = m_Dataset
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60152662

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档