设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12下一页
返回列表 发新帖
查看: 2362|回复: 14
打印 上一主题 下一主题

[其它] [求助]求助有关数据输入

[复制链接]
跳转到指定楼层
1#
发表于 2006-1-24 08:42:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
help, 小弟我是个不太会用access的,最近公司布置任务要做一个库存的数据库。目前遇到一个问题。具体如下:

我想做一个输入窗体,就是在窗体上设置了几个字段(控件),输入数据后按“save”按钮,将该数据输入到一个表中相应的字段中。目前遇到的问题是在写赋值语句的时候总是出错,难道是语句出了什么问题吗?

table![ISSUESP]![SPNO]=me.spno

这样的语句有错吗?

上传屏幕截图,希望各位高手能够给予帮助

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2006-1-24 09:41:00 | 只看该作者
绑定就好了嘛
3#
 楼主| 发表于 2006-1-24 18:01:00 | 只看该作者
我知道绑定是可以的,但是不是所有的字段都是输入的,有些是要根据前面输入的数据进行判断的
4#
 楼主| 发表于 2006-1-24 18:53:00 | 只看该作者
是这样的,我做的是一个库存管理软件,我想做一个专门的进/出库的窗体,输入相应的信息(备件号,领取数量等)后,按“保存”按钮,这些数据记录按流水账记录在进出库的表中,另外更新相应备件的库存数量(表)

目前我遇到的问题的就是无法更新数量,也无法直接通过按钮记录在进出库表中

谢谢

急!!!跪谢
5#
发表于 2006-1-24 19:04:00 | 只看该作者
错误,不能如此赋值。代码中的对象不明确 这句"Table!issuesp!spno"你的原意是指定表对象中的一个字段对象,但这个对象实例并没有在被引用和建立下你如此应用是错误的。

解决办法,采用DAO或ADO来对表的对象引用(复杂并且要对数据源刷新);另外就是采用子窗体来显示TABLE数据,并用子窗的控件来做你的上述操作。
6#
 楼主| 发表于 2006-1-24 19:26:00 | 只看该作者
谢谢楼上,但是同样有一个问题

比如说我这次发生变化的是2好备件,我在更新他库存数量的时候,怎么来定位2号备件,因为我需要更改的指示2号备件的库存

本人是菜鸟,所以问的问题可能很傻,请多多包含
7#
发表于 2006-1-24 21:13:00 | 只看该作者
table![ISSUESP]![SPNO]=me.spno 这句话是什么意思?

不能使用这种方法赋值。

把你的库传上来,好跟你解释。
8#
 楼主| 发表于 2006-1-24 21:56:00 | 只看该作者

附件中的是我做的库存管理的数据库,还没有完全完成,而且因为水平有限,所以大家见笑了。

解释一下:

在窗体中ISSUESP input是我想用来完成输入数据的窗体。意向中是要每一个控件都是未绑定的,在输入信息后按按钮save把数据输入到表ISSUESP相应的字段中去,同时根据领料/退料/收货来更新表INVENTORY中相应备件的数量。(因为自己无法实现意向中的功能,所以附件中的窗体有些改动,但根本目的是一样的)

另外在表INVENTORY中有一个字段ordering,这个字段是为了表明部分备件有可能是在购买过程中,于是在该情况下,备件的数量及是小于最低库存也不会报警。如果买东西,这个字段将被值为是,如果“收货”这个备件的这个字段将被值为“否”

看来我的问题还是比较多的,谢谢各位大哥帮忙了。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
9#
发表于 2006-1-24 22:25:00 | 只看该作者
不好意思,没有看你的附件,但根据你的描述,我说一点点,一个是access本来就是一个平民化的软件,他不需要很高的编程水平,不用ado或dao也能完成,比如用:forms![这个窗体]![这个文本框]=forms![那个窗体]![那个文本框]就行了嘛。另外,库存不应该用更新的,如果你以前做手帐就明白,难道有涂改帐目么?所以有新库存就添加一条记录,记录这个时间的库存是这个数,而以前日期的库存也保存以备查。数据库的设计规划占了80%的分量,一个好规划很快就能设计出好数据库的。
10#
发表于 2006-1-24 23:03:00 | 只看该作者
以下是引用haoooooooo在2006-1-24 13:56:00的发言:


[解释一下:

在窗体中ISSUESP input是我想用来完成输入数据的窗体。意向中是要每一个控件都是未绑定的,在输入信息后按按钮save把数据输入到表ISSUESP相应的字段中去,同时根据领料/退料/收货来更新表INVENTORY中相应备件的数量。

由于现在不能传附件了,所以将代码写在下面,把代码添加到保存按钮,同时去除窗体的记录源和文本框和组合框的控件来源属性,把窗体改为运行编辑。采用的是ADO,其它的东西可以依照这个来做。有些代码可能还需要些修改,但主要的是掌握方法。


Private Sub 保存记录_Click()
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset


If IsNull(Me![SERINUM]) Then
    MsgBox "请输入SERINUM"
    Exit Sub
ElseIf IsNull(Me![SP No]) Then
    MsgBox "请输入SP No"
    Exit Sub
ElseIf IsNull(Me![REASON]) Then
    MsgBox "请输入REASON"
    Exit Sub
ElseIf IsNull(Me![QUANTITY]) Then
    MsgBox "请输入QUANTITY"
    Exit Sub
ElseIf IsNull(Me![ISSUEDATE]) Then
    MsgBox "请输入ISSUEDATE"
    Exit Sub
ElseIf IsNull(Me![ISSUETIME]) Then
    MsgBox "请输入ISSUETIME"
    Exit Sub
ElseIf IsNull(Me![SSO]) Then
    MsgBox "请输入SSO"
    Exit Sub
End If


Set cn = CurrentProject.Connection


rs.Open "ISSUESP", cn, adOpenKeyset, adLockPessimistic


With rs

    .AddNew
        .Fields("SERINUM") = Me![SERINUM]
        .Fields("SP NO") = Me![SP No]
        .Fields("REASON") = Me![REASON]
        .Fields("QUANTITY") = Me![QUANTITY]
        .Fields("ISSUEDATE") = Me![ISSUEDATE]
        .Fields("ISSUETIME") = Me![ISSUETIME]
        .Fields("SSO") = Me![SSO]
    .Update
End With


rs.Close


MsgBox "保存成功!"

    Me![SERINUM] = Null
    Me![SP No] = Null
    Me![REASON] = Null
    Me![QUANTITY] = Null
    Me![ISSUEDATE] = Null
    Me![ISSUETIME] = Null
    Me![SSO] = Null


End Sub

[此贴子已经被作者于2006-1-24 15:10:09编辑过]

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-11-3 05:37 , Processed in 0.097170 second(s), 34 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表