设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12345下一页
返回列表 发新帖
查看: 11973|回复: 49
打印 上一主题 下一主题

[其它] 【教程】从Access到Asp.net(二)

[复制链接]
跳转到指定楼层
1#
发表于 2006-8-8 09:12:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
【第二章:数据库的建立】


【建立一个数据源】


新建一个数据库,取名叫:mini_shop.mdb 然后再c盘根目录下建立一个文件夹,取名minishop.下面我们该去菜场买菜了:到网上下载一些图片下来,这是你的商品图片,调试的时候需要有数据才行啊。把它们保存在myshop\images的文件夹里。


为方便大家学习,我把设计规划放到这里,有打印机的朋友,最好把设计规划打印一下,以便随时备查,我英文不好,所以自己取的英文字段名称常会忘记,有啦手册就方便多了。









[此贴子已经被作者于2006-8-9 1:01:38编辑过]

本帖子中包含更多资源

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

x

本帖被以下淘专辑推荐:

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖1 订阅订阅
2#
 楼主| 发表于 2006-8-8 09:22:00 | 只看该作者
根据数据结构图的要求建立一个数据表

建立tab_pkinds 表,在这里凡是表我们都以tab为开头,表里只有一个字段:pkinds,一个自动编号字段,大家在设计表的时候,自动编号字段无论有用与否,都应该保留。

建立tab_pinfo 表:该表的设计视图如下:这里比较特殊的是pkind字段,他的格式是数字,其实是和tab_pkinds 表的id做了绑定,用一个组合框来显示,这是罗斯文的典型示例。




本帖子中包含更多资源

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

x
3#
 楼主| 发表于 2006-8-8 09:23:00 | 只看该作者
Tab_salerescord: 销售记录表





Tab_salelist: 订单表


[此贴子已经被作者于2006-8-8 1:24:51编辑过]

本帖子中包含更多资源

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

x
4#
 楼主| 发表于 2006-8-8 09:26:00 | 只看该作者
有两个用户表,一个是系统用户的,一个是顾客的







[此贴子已经被作者于2006-8-8 1:27:01编辑过]

本帖子中包含更多资源

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

x
5#
 楼主| 发表于 2006-8-8 09:29:00 | 只看该作者
好了,全部表已经建立完成了,共六个,在tab_pkinds,tab_pinfo,tab_idmininfo,tab_userinfo这四个表中都手工输入3条以上的数据,整个数据库看起来就像这个样子:(你的跟我的一样吗?)



然后以独占方式打开数据库,设定数据库密码。我的密码为123







[此贴子已经被作者于2006-8-8 1:29:35编辑过]

本帖子中包含更多资源

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

x
6#
 楼主| 发表于 2006-8-8 09:32:00 | 只看该作者
【链接数据建立后台】


建立一个叫  后台.mdb  的数据库,打开,从 文件----获取外部数据-----链接表----找到C:\mini_shop.mdb-----输入密码-----点击全选----点击确定


【商品类别管理的设计】


先看一下我们要达到的效果:这个效果应该是事先用一张草稿纸画出来的,然后再考虑怎样用设计实现:






我们可以逐条的修改和删除,点击添加就添加一条记录。


这其实有一个经常被提及到的问题,如何实现点击某个按钮,来实现保存记录的的功能,否则视为放弃。这里引入了一个中间表的概念。就是看到的数据和操作的数据不是同一个表,这里绕过了access自动保存的功能。我们用ado操作数据表tab_pkinds  而显示时通过tmp_pkinds 来实现。


[此贴子已经被作者于2006-8-8 17:39:01编辑过]

本帖子中包含更多资源

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

x
7#
 楼主| 发表于 2006-8-8 09:36:00 | 只看该作者
我们通过复制tab_pkinds ,然后粘贴得到本地表tmp_pkinds,


本帖子中包含更多资源

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

x
8#
 楼主| 发表于 2006-8-8 09:39:00 | 只看该作者
用向导生成chindfrm_pkinds_mat,如图所示:然后再主体添加两个按钮“修改”,“删除”,在窗体页脚添加文本框和一个按钮:








我们需要两个查询来操作中间表tmp_pkinds,一个查询用于清空中间表,一个查询用于加载中间表:分别是删除查询kinds:DELETE tmp_Pinfo.*FROM tmp_Pinfo;追加查询:Qur_addpkinds:INSERT INTO tmp_pkinds ( id, pkinds )SELECT tab_pkinds.id, tab_pkinds.pkindsFROM tab_pkindsORDER BY tab_pkinds.id;





在vba中我们建立 一个过程,用来连续执行这两个查询:


'生成显示数据
Private Sub Record_show()
    DoCmd.OpenQuery "qur_delpkinds"
    DoCmd.OpenQuery "qur_addpkinds"
End Sub





用dao对链接表进行操作:





Private Sub Command4_Click()
'保存修改信息
Dim d As Recordset
Dim sqlstr As String
    sqlstr = "select * FROM tab_Pkinds WHERE id=" & Me![id]
    Set d = CurrentDb.OpenRecordset(sqlstr)
    d.Edit
    d(1) = Me.pkinds
    d.Update
End Sub


Private Sub Command5_Click()
'删除该条记录
Dim sqlstr As String
    sqlstr = "DELETE * FROM tab_Pkinds WHERE id=" & Me![id]
    DoCmd.RunSQL (sqlstr)
   
    Record_show
Me.Requery
End Sub


Private Sub Command8_Click()
'添加商品类别
Dim d As Recordset
    Set d = CurrentDb.OpenRecordset("tab_pkinds")
    d.AddNew
    d(1) = Text7
    d.Update
   
    Me.Text7 = Null
   
    Record_show
Me.Requery
End Sub









[此贴子已经被作者于2006-8-8 1:50:12编辑过]

本帖子中包含更多资源

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

x
9#
 楼主| 发表于 2006-8-8 09:41:00 | 只看该作者
【商品信息管理设计】





商品信息管理的设计原理和种类管理的一样,这里不再赘述。主要是编辑按钮的代码:


Private Sub editpinfo_Click()
'保存修改信息
Dim d As Recordset
Dim sqlstr As String
    sqlstr = "select * FROM tab_Pinfo WHERE id=" & Me![id]
    Set d = CurrentDb.OpenRecordset(sqlstr)
        d.Edit
        d(1) = Me.pname
        d(2) = Me.pkind
        d(3) = Me.price
        d(4) = Me.lprice
        d(5) = Me.pcount
        d(6) = Me.pimg
        d(7) = Me.pmsg
        d.Update
End Sub



Private Sub Form_Load()
    DoCmd.OpenQuery "qur_delpinfo"
    DoCmd.OpenQuery "qur_addpinfo"
    Me.Requery
End Sub










[此贴子已经被作者于2006-8-9 1:10:38编辑过]

本帖子中包含更多资源

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

x
10#
 楼主| 发表于 2006-8-8 09:43:00 | 只看该作者
【添加新商品的设计】


效果图





代码:添加新商品


Private Sub Command17_Click()
    If IsNull(Me.pname) Then
        MsgBox "请填写商品名称"
        Exit Sub
    End If
    If IsNull(Me.pkind) Then
        MsgBox "请填写商品类别"
        Exit Sub
    End If
    If IsNull(Me.price) Then
        MsgBox "请填写商品价格"
        Exit Sub
    End If
DoCmd.GoToRecord , , acNewRec


End Sub









[此贴子已经被作者于2006-8-9 1:12:06编辑过]

本帖子中包含更多资源

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

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

本版积分规则

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

GMT+8, 2024-12-1 20:30 , Processed in 0.094044 second(s), 37 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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