设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1295|回复: 5
打印 上一主题 下一主题

[模块/函数] Access如何实现选择数据插入表中

[复制链接]
跳转到指定楼层
1#
发表于 2011-12-7 17:25:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我现在想把Excel表中存储的数据放到Access中,并且保持原来Excel中的计算选择条件。
我不知道该如何在Access中实现下面这个Excel公式。
=IF(ISNUMBER(FIND("7234A",Q2)),"7234A",IF(ISNUMBER(FIND("RF",Q2)),RIGHT(LEFT(Q2,6),4),IF(ISNUMBER(FIND("DA",Q2)),RIGHT(LEFT(Q2,6),4),IF(ISNUMBER(FIND("T",Q2)*FIND("F14",Q2)),RIGHT(LEFT(Q2,5),4),IF(ISNUMBER(FIND("SM",Q2)),RIGHT(LEFT(2,6),4),LEFT(Q2,4))))))
请大家帮忙解决一下,我是新手,希望尽量详细和简单。
谢谢大家!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2011-12-7 22:25:47 | 只看该作者
Find部分可以用Instr函数代替(设置为>0,IsNumber部分也可以省去了)。
If部分可以用IIF来代替。
Q2则改为相关的字段名即可。
没有附件,所以我也不好说什么。
3#
 楼主| 发表于 2011-12-8 14:11:05 | 只看该作者
非常感谢,现在问题已经解决了,谢谢!
另外我有一个新的问题,我设置了登录界面,然后由一个登录按钮,我在这个按钮上面设置了代码,当点击的时候去检测登录信息.
可是不知道为什么就是不能执行,具体信息见附件.
希望大家在帮忙看看,谢谢了!

本帖子中包含更多资源

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

x
4#
发表于 2011-12-8 15:14:18 | 只看该作者
为什么不传实例库?
5#
 楼主| 发表于 2011-12-8 15:53:40 | 只看该作者
我现在就想通过登陆界面登陆到系统.
我想通过登陆窗体,点击登陆按钮之后,打开我的进口明细和进口列表两张表.
我现在是写完代码,但是当点击的时候没有反应,还是显示我没有定义,不知道为什么.
麻烦帮忙看看在那些才能满足条件,谢谢.

本帖子中包含更多资源

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

x
6#
发表于 2011-12-10 00:06:09 | 只看该作者
本帖最后由 roych 于 2011-12-10 00:10 编辑

由于网速的原因,就不上传附件了,先贴代码:
Option Compare Database
Dim conn As ADODB.Connection
Dim rs As ADODB.Recordset
Private Sub 登录_Click()
   Set conn = CurrentProject.Connection
   Set rs = New ADODB.Recordset
   rs.Open "用户表", conn
   Dim username As String
   Dim userpass As String
   txt_用户名.SetFocus
   username = txt_用户名.Text
   If IsNull(username) Or IsNull(txt_密码.Value) Then
   MsgBox "用户名或密码不能为空,请重新输入!", vbOKOnly + vbInformation, "错误信息"
   Else
        If username <> rs!用户名 Then
        MsgBox "用户名或密码不正确,请重新输入", vbOKOnly + vbInformation, "错误信息"
         txt_用户名.SetFocus
         txt_用户名.Text = ""
         txt_密码.SetFocus
         txt_密码.Value = ""
         txt_用户名.SetFocus      
     Else
        rs.Close
        rs.Open "用户登录记录表", conn, adOpenDynamic, adLockOptimistic
        rs.AddNew
        rs!用户名 = username
        rs!登陆时间 = Now()
        rs!退出时间 = CDate(0)
        rs.Update
        rs.Close
        DoCmd.Close
        DoCmd.OpenTable "进口列表"
        DoCmd.OpenTable "进口明细"
     End If   
  End If         
End Sub
接下来,虽然你是新手,但我还是得把一些新手常见的错误拿出来批斗一番了:
1、没有引用ADO库(Microsoft ActiveX Data Object 2.1 Library,当然你也可以引用高版本的库)。
2、If……Then语句错误。If Then语句有两种写法,单句的没有End If,多句的有:
单句:If 条件成立 Then 结果
多句:If 条件成立 Then
         结果1
         【Else   
         结果2】
         End If
如果Else部分较多也可以改为多个:
【 ElseIf 条件2 Then
            结果2】
………………………………
【 ElseIf 条件N Then
            结果N】
不过可读性没有Select Case强。——这个分支语句就不讲了。。。毕竟这里不是写教程。
3、代码是抄过来了,但控件名称没有改过来。因此请修改控件名称。此外,密码部分应加上掩码(右击文本框:属性\掩码,输入:密码)。请把用户名文本框的名车的改为:txt_用户名。对应的密码文本框改为:txt_密码,否则贴了这些代码还是会出错。
4、OpenTable必须分开写,不能Docmd.OpenTable "表1","表2","表3",……"表N"
应当改为:
Docmd.OpenTable "表1"
Docmd.OpenTable "表2"
…………………………………
Docmd.OpenTable "表N"
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-16 06:32 , Processed in 0.108335 second(s), 30 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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