设为首页收藏本站Access中国
Office中国(www.office-cn.net),专业Office论坛

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
楼主: yzt880

[Access本身] 记录企业erp软件编写点滴

[复制链接]
 楼主| 发表于 2013-8-20 09:04:13 | 显示全部楼层
回复19楼
说的很对,一是我半路出家,入手时就是access,vba觉得习惯了,改为其他的现学习不是不可以,我觉得各种开发软件都是各有优劣。但是有一条,只要是成熟的开发软件和语言,都能编写出好的应用软件,只有想不到,没有做不到。
二是我本不专业,无法跟大项目开发的科班出身的人比。自然很大的项目人家也不会用我。前几年一中型企业跟我谈过几次,最后人家看我一个人搞软件,信不过我,他们当时是这样说的:你要是......?那个意思就是你要是死了怎么办。我心里想你这个企业能不能活过我还不一定呢,但嘴上还是说我可以把源代码给你们的。
三是开发速度问题。我自己一个人搞,开发速度肯定是上不去的。
我跟企业的做法就是在一个企业蹲下来,成为一个企业的职工,当然是个特殊职工,拿工资,不考勤,不受制约,每个月有几天到企业去解决远程解决不了的问题。软件根据企业需要开发,他们没有了要求了,我就不开发了。有的企业我已经干了10多年了,现在只是维护就可以了。
我看的很清楚,那些买erp软件的企业一是大企业,不上不行,上去了也不行。再就是一些小企业看着人家上也眼馋,花点钱 买个软件,基本无法应用。我做软件10几年了,我们当地企业当时什么水平,现在还是什么水平。我指的是工业企业。商业流通企业他们使用标准版就可以,自然进步要大一点。
请赐教。
发表于 2013-8-20 13:28:10 | 显示全部楼层
yzt880 发表于 2013-8-19 19:25
谢谢各位回复。
我觉得access的界面不错,但是用它来做个网站后台了什么的还不错,但是真正用于企业erp系 ...

说dao速度慢纯粹是以讹传讹,其实ADP才是开销比较大要不怎么微软把ADP咔嚓了,因为同时有四个ADO链接打开。如果大家觉得DAO慢,大家可以测试一下附件看速度如何,服务器我已经配置好了,直接点登陆账套即可。这个账套就是虚拟空间提供的SQLSERVER。




本帖子中包含更多资源

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

x
 楼主| 发表于 2013-8-20 14:23:36 | 显示全部楼层
老婆说你这也叫写软件?都是从网上七拼八凑搞起来的东西。
我说:老婆,你还别瞧不起我。网上的东西很多都是精华,能够拿过来为我所用,而且用的好,用的有创新,那才叫会做软件。
我们自己有什么?不都是学习前人的东西为自己的知识?
老婆笑了:就知道你歪理多。
 楼主| 发表于 2013-8-20 14:30:43 | 显示全部楼层
本帖最后由 yzt880 于 2013-8-20 14:41 编辑

这个是树形菜单使用,点击一下查询按钮按日期,编号,客户等多种查询显示。特别是从一张报价单到反复几次报价直至合同,生产,交货都会一一记录,点击后就会展开,从开始至结束脉络清晰。

本帖子中包含更多资源

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

x
 楼主| 发表于 2013-8-20 14:45:23 | 显示全部楼层
这是这个过程的部分代码,框架作为查询条件输入,直至展示10级树枝。
Sub sx()
  Dim stRecQL As String
    Dim Item As Integer
    Dim i As Integer
    Dim nodindex As Node
    Dim lianjie As String
    Dim lianjie_a As String
'* -----------------------------------------------------------------
'* 定义各类
'* -----------------------------------------------------------------
Select Case Forms![khgl_z]![框架5]
  Case 1
     lianjie = "and (convert(datetime,right(left(报价编号,9),8),102)>='" & Forms![khgl_z]!Text171 & "'and " & _
       "convert(datetime,right(left(报价编号,9),8),102)<='" & Forms![khgl_z]!Text173 & "')   and 报价编号 like '%" & Trim(Forms![khgl_z]!Combo184) & "%'"

  Case 2
       lianjie = "and (convert(datetime,right(left(报价编号,9),8),102)>='" & Forms![khgl_z]!Text171 & "'and " & _
       "convert(datetime,right(left(报价编号,9),8),102)<='" & Forms![khgl_z]!Text173 & "')  and 助记码 like '%" & Trim(Forms![khgl_z]!Combo184) & "%'"
    Case 3
          lianjie = "and (convert(datetime,right(left(报价编号,9),8),102)>='" & Forms![khgl_z]!Text171 & "'and " & _
       "convert(datetime,right(left(报价编号,9),8),102)<='" & Forms![khgl_z]!Text173 & "')   and 询单单号 like '%" & Trim(Forms![khgl_z]!Combo184) & "%'"
        Case 4
          lianjie = "and (convert(datetime,right(left(报价编号,9),8),102)>='" & Forms![khgl_z]!Text171 & "'and " & _
       "convert(datetime,right(left(报价编号,9),8),102)<='" & Forms![khgl_z]!Text173 & "')   and 操作员 like '%" & Trim(Forms![khgl_z]!Combo184) & "%'"
        Case 5
          lianjie = "and (convert(datetime,right(left(报价编号,9),8),102)>='" & Forms![khgl_z]!Text171 & "'and " & _
       "convert(datetime,right(left(报价编号,9),8),102)<='" & Forms![khgl_z]!Text173 & "')  and 报价员 like '%" & Trim(Forms![khgl_z]!Combo184) & "%'"


      End Select
    lianjie_a = "select id from baojia_sx where id1 in (select id from baojia_sx where id1 is null " & lianjie & ""

    '设置最顶级的"爷"
'* ---------------------------
    Set nodindex = TreeView.Nodes.Add(, , "爷", "报价单列表", "K1", "K2")
    nodindex.Sorted = False '*这个是排序,true升序false降序
'* -----------------------------------------------------------------
'*这里的设置跟第一小时里基本是一样的
'*但最后多了一个"K2"的参数,"K1"代表的是未被选中时的图标,"K2"代表是被选中后的图标
'*仔细观察一下,你会发现选中和没选中的图标是不一样的,一个是一个文件夹,一个是一个打开的文件夹
'* -----------------------------------------------------------------

    '设置第二级"父"
'* ---------------------------
     OpenRS1 "select * from baojia_sx where id1 is null " & lianjie & "ORDER BY id desc", rs
    For i = 0 To rs.RecordCount - 1
        Set nodindex = TreeView.Nodes.Add("爷", tvwChild, "父" & rs("id"), rs("编号"), "K1", "K2")
        nodindex.Sorted = True
        rs.MoveNext
    Next
  rs.Close
'* -----------------------------------------------------------------
'*第一行意思是打开一个表去寻找数据(查询也是可以的)
'*关键在与Add参数的变化
'*大家看第三个参数,在第一小时里,这里是"父1",这里用Rec.Fields("大区ID")来代替"1",意思是用表的编号来代替手工编号
'*第四个参数也是一样,直接用表中的名称字段来取代原来我们手工的命名
'* -----------------------------------------------------------------

    '设置第三级"子"
'* ---------------------------
OpenRS1 "select * from baojia_sx where id1 in (select id from baojia_sx where id1 is null " & lianjie & ") ", Rs1
    For i = 0 To Rs1.RecordCount - 1
        Set nodindex = TreeView.Nodes.Add("父" & Rs1("id1"), tvwChild, "子" & Rs1("id"), Rs1("编号"), "K1", "K2")
        nodindex.Sorted = True
        Rs1.MoveNext
    Next
    Rs1.Close

发表于 2013-8-20 16:30:11 | 显示全部楼层
gnoy 发表于 2013-8-20 13:28
说dao速度慢纯粹是以讹传讹,其实ADP才是开销比较大要不怎么微软把ADP咔嚓了,因为同时有四个ADO链接打开 ...

微软的数据访问组件的发展历程是: DAO, RDO, ODBCDirect, ADO, ADO.net 。

DAO的设计目的是用来与基于文件的本地数据库进行通信的,随VB3一起发布。虽勉强可与sql server通信,但功能和性能不足。这个在大量数据和更多用户访问时更体现不足。

后来为了和sql server通信,发布了RDO,随VB4一起发布。

后来又随vb5和visual studio 97发布了ODBCDirect,在Rdo的功能上再加上DAO易用性的特性。

后来就是ADO了,随vb6和visual studio 6发布,背景是Internet到来,使可在服务器端脚本中更好的访问数据库,还能在服务器和客户端间传递数据结构。

后来就是随.net发布ADO.net,目的是有效的处理XML,适合于Internet和Intranet上使用的多层数据库应用程序而设计的。

这些数据访问组件是随着应用需求不断发展的。设计目的是最强的决定因素。我们开发应用要从所用技术的开发目的和应用环境和技术建议的开发方案出发来进行的,这样开发出来的应用才比较稳健,开发过程才比较顺利。

另外,在2013不支持ADP主要是微软想推share point,用share point来赚企业客户的钱,还有大趋势都是B/S应用了。又Office要向平板推进砍掉一些累赘的。

相反的,ADP基于ADO是C/S模式下成熟开发方案的轻便方式。

发表于 2013-8-20 16:39:16 | 显示全部楼层
chaosheng 发表于 2013-8-20 16:30
微软的数据访问组件的发展历程是: DAO, RDO, ODBCDirect, ADO, ADO.net 。

DAO的设计目的是用来与基于 ...

你好像发现新大陆似的 ,现在讨论这个太落伍了,ACCESS2007的时候网上就吵翻了,你接受这个现实吧。

结论不讨论:access操作SQLSERVER 使用MDB ODBC技术优于ADP。
 楼主| 发表于 2013-8-20 16:41:55 | 显示全部楼层
chaosheng 发表于 2013-8-20 16:30
微软的数据访问组件的发展历程是: DAO, RDO, ODBCDirect, ADO, ADO.net 。

DAO的设计目的是用来与基于 ...

学习了。我原来也想使用adp,但是我还是觉得没有ado连接sql来的便捷和速度。我现在使用adp连接sql,做一些视图和存储过程设计。还有触发器的设计也比在sql中来的简洁、直接、实用。
发表于 2013-8-20 16:45:49 | 显示全部楼层
gnoy 发表于 2013-8-20 16:39
你好像发现新大陆似的 ,现在讨论这个太落伍了,ACCESS2007的时候网上就吵翻了,你接受这个现实吧。
...

你说的MDB ODBC技术就是链接表了,把大型数据库的全部数据搬到客户端来,根本不是C/S方案,无安全性可谈,可把数据全部搬下来,那就不是大型数据库了,数据量大根本适应不了,楼主的实践经验也不是说明了这点吗?
发表于 2013-8-20 16:49:07 | 显示全部楼层
yzt880 发表于 2013-8-20 16:41
学习了。我原来也想使用adp,但是我还是觉得没有ado连接sql来的便捷和速度。我现在使用adp连接sql,做一 ...

是的,你这样也可以,就是麻烦点,但可充分发挥sql server功能,触发器,存储过程。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /5 下一条

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

GMT+8, 2020-10-31 16:02 , Processed in 0.089279 second(s), 34 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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