Adoquery 怎么向多个表格里带宏的表格不更新数据据

用Delphi将数据导入到Excel并控制Excel_百度文库
您的浏览器Javascript被禁用,需开启后体验完整功能,
享专业文档下载特权
&赠共享文档下载特权
&100W篇文档免费专享
&每天抽奖多种福利
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
用Delphi将数据导入到Excel并控制Excel
你可能喜欢JavaScript is disabled. For a better experience, please enable JavaScript in your browser before proceeding.
Thread starter
Start date
Unregistered / Unconfirmed
GUEST, post messages is not allowed!
我有一个excel表格,我要把里面的数据转入到access数据库里,可表格的格式让我不知道该怎么存储,希望大侠们,帮我解决它!excel表格示范:
类似这样一个表格,真实的表格放在我的笔记里,大家可以去看。真实表和这个还是有点区别的。而我要存储access数据库的内容是这样
(字段)(列)
教室4差不多是这样吧,其实还要在细分些。例如,日期吧,9.08这个能拆成access那样最好,不能也没什么,在一起一个字段里也可以。但时间是一定要拆出来的。如果真的拆不出来,也勉强接受,我在想其他办法解决。
差不多我的需求是这样的了,有能帮我解决的大侠,我非常的感谢。我会把详细的需求在说清楚的。请大家帮帮忙,非常感谢。
Unregistered / Unconfirmed
GUEST, post messages is not allowed!
补充下:excel表格,有周一,周二,周三。。这样的列也就是要1对多了,把按照前面的说法,把小王周一,写到数据库里了,然后写周二的。一直到周三。。然后就是小刘的,从周一到周三。。。如果这样无法实现,就只写周一的,周二以后的就不需要考虑了。
Unregistered / Unconfirmed
GUEST, post messages is not allowed!
将excel 直接读到 Adoquery , 然后再通过for一条条记录读出來再对字段进行判断, 取到合适的字段后,再写入数据库。读到特需的,如“周一” 这些字段值的时候,直接舍弃读到“11-12” 这些字段值的时候,用函数拆分,根据拆分结果分条插入
Unregistered / Unconfirmed
GUEST, post messages is not allowed!
先要记得记录 姓名
三个值,这样,碰上以下情况,用上面的记录值代替。4
Unregistered / Unconfirmed
GUEST, post messages is not allowed!
yangb0803大侠,能给个示范例子嘛,这个excel的东西,我没有做过,不是太明白。基本意思我明白,也知道该怎么去理解。可是没有做过excel,怎么读取,和判断?
Unregistered / Unconfirmed
GUEST, post messages is not allowed!
请大侠们多出手
Unregistered / Unconfirmed
GUEST, post messages is not allowed!
AdoTable 可以直接连接EXCEL表的function TdExcelToDb.ConnectExcelFile(var List:T
ExcelFile: S MemoLog: Tmemo):begin
Result := F
List:=TStringList.C
ADOConnection.C
ADOConnection.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;User ID=AData Source='+ExcelFile+';Mode=Share Deny NExtended Properties=Excel 8.0;Persist Security Info=FJet OLEDB:System database=&&;Jet OLEDB:Registry Path=&&;Jet OLEDBatabase Password=&&;Jet OLEDB:Engine Ty ' ;
ADOConnection.O
ADOConnection.GetTableNames(list,false);
MemoLog.Lines.Add('Open EXCEL succeesed,Please select table Success') ;
Result := T
MemoLog.Lines.Add('The File is not EXCEL Format !') ;
ADOConnection.C
Unregistered / Unconfirmed
GUEST, post messages is not allowed!
判断的我是这么做的
for K := 0 to Table1.FieldCount-1 do
ExcelField := LowerCase(Table1.Fields.Fields[K].FieldName) ;
if TbField=ExcelField then
if not (Table1.FieldByName(TbField).IsNull) then
qtySong.FieldByName(TbField).Value :=
Table1.FieldByName(TbField).V
Unregistered / Unconfirmed
GUEST, post messages is not allowed!
yangb0803大侠很感谢您的出手!
您的回答,我看了。我昨天从网上找到示例,能把我的excel表格存储到access里,存起来到不是很难。可不是我想要的。。。还要必须在次拆分access表格里的数据才能得到我想要的记录信息。
您的回答,能帮我解决,我的困惑嘛?其实存在access里了,问题就好解决了,可是拆分起来真的是 很麻烦。。。它是按照excel那样直接存储好的。。excel空的地方,它也是空的。因为有规律,到不是不能解决,一个标题记录里分4条小记录(周一,按照上下午,应该就是8条记录了。在按照周一到周日,7*8=56条。。。55,这个先不管了,就按照周一一天来处理。)这样数据应该是这样的:
简单示例图:
4现在我得到的是这样:
4这样填写应该不是什么问题,可就是excel表格太复杂,拆分起来的东西很多。我现在也在争取,把excel的表格,按照我的设想修改下,不过这个可能性比较低。目前看,只能用对方提供的excel表格来做。。
笨一点的方法,繁琐的方法,目前好像勉强能做出来。不过肯定无法接受这个效果。。看看怎么能更自动些。而且,大侠看看,如果设计这个excel表格,要是变更的话,怎么才能改动最小,但我们做起来更容易?您也提个参考,,,,,,,,呵呵。
要是不改变excel表格,程序该怎么设计?
Unregistered / Unconfirmed
GUEST, post messages is not allowed!
4这个空,你可以直接记录額……var
str: WideS
i : Ibegin
for i := 0 to Adotable.recordcount -1 do
if Adotable.fieldbyname('姓名').string && '' then
//当字段不为空的时候,重新赋值,否则以上次取到的值填充
str := Adotable.fieldbyname('姓名').
AdoSqlTable.A
AdoSqlTable.fieldbyname('姓名').string
AdoSqlTable.
Unregistered / Unconfirmed
GUEST, post messages is not allowed!
EXCEL 表格都这样了,修改起来,没人愿意的,只要日期,时间那个“-”标记正确,拆分起来很简单的了你建表后,拆分完毕了,再入ACCESS表啊,不要只对应的插…也就是說,在数据入表这步,就要把数据按照要求拆分好。
Unregistered / Unconfirmed
GUEST, post messages is not allowed!
yangb0803大侠,我的excel表格在我的笔记里,或者您留下qq之类的联系方式,我发给您,您帮我看看?
Unregistered / Unconfirmed
GUEST, post messages is not allowed!
试试我的建议:把excel保存为.csv的格式 然后一行一行导入sccess就比较容易了 我就做过。
Unregistered / Unconfirmed
GUEST, post messages is not allowed!
huashi86大侠,csv是什么东东?不是很明白
Unregistered / Unconfirmed
GUEST, post messages is not allowed!
把excel内容导入access,再通过查询与语弄出楼主想要的格式。你把时间再多设字段就行了。例如: xm
小王 9.08 sql.Text:='select xm as 姓名,left(rq,7) as 开始日期,right(rq,7) as 结束日期 from cfsj' ;
Unregistered / Unconfirmed
GUEST, post messages is not allowed!
csv 在Excel里面的另存为 下拉选择保存类型为*.csv 这样既可以用txt打开(打开是以逗号分隔的),也可以用excel打开 用delphi读取的方式和读取txt的是一样的
Unregistered / Unconfirmed
GUEST, post messages is not allowed!
楼上的回答不是很明白。。。。做是一定能弄出来的,就是繁琐点。。。aufewu大侠回答更实际些。。。有没有按照我说的那样的表格,有个详细的的答案呢?
Unregistered / Unconfirmed
GUEST, post messages is not allowed!
.............该怎么做呢。。。帮帮忙了
diandianwencun
Unregistered / Unconfirmed
GUEST, post messages is not allowed!
高薪招聘程序员要求:
1:熟悉OD调试,ASM,能掌握IDA更好 2:做过几个项目,在项目中运用到VC+内联汇编或者宏汇编S 3:
网上兼职一名,要有足够时间工资面议 (年薪另算) 联系QQ:JavaScript is disabled. For a better experience, please enable JavaScript in your browser before proceeding.
Thread starter
Start date
Unregistered / Unconfirmed
GUEST, post messages is not allowed!
客户端台数&=2,几台客户端同时进入了一个界面,而这个界面上的控件都是用感应的.一开始没什么问题.现在如果一台客户端上新增了一条记录,然后其它客户端上想找到此条记录.我用检索的时候是用了另一个ADOQuery到数据库上用SQL语句检索到这条记录了,然后要定位到这条记录,我是这样写的:ADOQuery_Submssion(用来跟感应控件相连接的ADOQuery).Locate(Submission_ID,sSubmission_ID,[]);&但是这样不能定位,因为此ADOQuery的数据集里没有此数据.但是如果退出去重新进了就会有的.有一种解决方法是:ADOQuery_Submssion.Close,ADOQuery_Submssion.Open然后再ADOQuery_Submssion(用来跟感应控件相连接的ADOQuery).Locate(Submission_ID,sSubmission_ID,[]);这样是可以的,但是每次这样都要刷新一遍如果数据量多了会很慢的.还有一种就是全部用非感应控件,这样的话代码改动量太大.请问高手们还有什么解决方案吗?
Unregistered / Unconfirmed
GUEST, post messages is not allowed!
用Timer控件,定时刷新一下数据控件怎么样?
Unregistered / Unconfirmed
GUEST, post messages is not allowed!
TO&sxdthonda&也想过这样,但用时钟很难控制什么时候刷新什么时候不刷新,而且这样刷新的话数据量多了也是不是写慢的?
Unregistered / Unconfirmed
GUEST, post messages is not allowed!
不知你是什么行业,其实一般软件(多客户端),是用户手工再次点击时才需要更新数据的!
Unregistered / Unconfirmed
GUEST, post messages is not allowed!
恩.我的是实验室资源管理系统,一般是疾控中心用的.
Unregistered / Unconfirmed
GUEST, post messages is not allowed!
我QQ是,连上聊吧。
Unregistered / Unconfirmed
GUEST, post messages is not allowed!
To&sxdthonda&&我加你了..
Unregistered / Unconfirmed
GUEST, post messages is not allowed!
我加你了..你没通过我,我这也没看到你上线!
Unregistered / Unconfirmed
GUEST, post messages is not allowed!
你QQ多少号?
Unregistered / Unconfirmed
GUEST, post messages is not allowed!
Unregistered / Unconfirmed
GUEST, post messages is not allowed!
都线上聊了?问题答案解决了没?````
Unregistered / Unconfirmed
GUEST, post messages is not allowed!
还没有呢..都看不到他...&br&我想到这样一个解决方案:首先在单元中建一个全局变量.Rec_No:S&br&在添加,修改或的时候只对数据集进行修改,没有真正的保存到数据,然后再用SQL真正的保存到数据库中.(这样只对数据集进行修改有没有关系的.)&br&一开始进界面时就用SQL语句检索到最后一条,取出一个主键ID(Select&Max(ID)&From&XX)&br&Rec_No:=Fields[0].AsS然后用感应的ADOQuery写SQL(Select&*&From&XX&Where&ID&=&Rec_No).&br&在检索,或前后条浏览的时候首先也取出个主键ID的值(Rec_No),然后用SQL(Select&*&From&XX&Where&ID&=&Rec_No)进行定位.&br&现在问题是在保存的时候对只对数据集进行修改这样会不会有问题的?&br&请大哥大姐们指点.
Unregistered / Unconfirmed
GUEST, post messages is not allowed!
自由灵活,所见即所得的表格组件,开发环境下设计表格内容,独有的单据和Excel两种界面风格,可设计出各种类型的界面,配合强劲的打印功能,轻松解决自由界面和报表难题。其显著特性包括:&br&.&提供了单据,&Excel&,Grid&三种界面风格。&&&&&br&.&开发环境下设计表格,所见即所得。&&&&&br&.&支持数据库和分组。&&&&&br&.&既可以作为普通表格使用,又可以作为数据感知组件使用,或者两者同时使用。&&&&&br&.&独特的双数据源连接,轻松实现单记录布局和主从表连接。&&&&&br&.&除了通过数据集本身的方法来访问数据库的记录之外,还可以通过读取单元格的Text属性来实现,这样就不&&必在数据集间来回移动记录。&&&&&br&.&支持unicode文本。&&&&&br&.&提供了列排序,移动行列,隐藏行列,增删行列等功能。&&&&&br&.&提供了&Excel&样式的过滤功能。&&&&&br&.&方便的查找对话框。&&&&&br&.&提供了单元格合并,单元格命名,只读单元格,锁定单元格等功能。&&&&&br&.&提供了列对象,用于控制整列单元格。&&&&&br&.&支持虚表,公式(包括自定义公式),&RTF&格式文本,Ole&对象和图表。&&&&&br&.&提供了按钮、下拉框、复选框、单选钮、日期、超链接、数值类等多种输入方式。&br&.&支持整形、正整形、负整形、浮点数、正浮点数、负浮点数等输入方式。可自动处理千分位,可设置小数位&&数。&&&&&br&.&九种文本和图形对齐方式,还可通过单元格边距控制输出位置。&&&&&br&.&导入/导出&Excel&文件,相互粘贴数据。&&&&&br&.&提供了自动调整行高,垂直文本输出功能。&&&&&br&.&可以设置单元格掩码,附有掩码编辑器。&&&&&br&.&设置单元格的&PasswordChar。&&&&&br&.&单元格内容字符数限制。&&&&&br&.&单元格支持图形,并且可以拉伸,层叠图形。&&&&&br&.&可以显示/隐藏单元格的边框、可以设置边框的类型、大小、颜色。&&&&&br&.&支持单元格斜线。&&&&&br&.&3D&外观的单元格。&&&&&br&.&设置单元格的光标和提示。&&&&&br&.&支持自绘画单元格。&&&&&br&.&设置固定行和列。&&&&&br&.&保存到文件和流。&&&&&br&.&提供了复制/粘贴区域功能。&&&&&br&.&VCL&版本可以插入其它可视&VCL&组件。&&br&&br&http://www.anylib.com
lifangchao2008
Unregistered / Unconfirmed
GUEST, post messages is not allowed!
我也正在做多客户端的C/S型数据库管理系统,对于这个问题,我第一种想法就是用Timer组件定时更新数据
Unregistered / Unconfirmed
GUEST, post messages is not allowed!
也可以利用DBMS的一些功能協助處理這些
dennyshao001
Unregistered / Unconfirmed
GUEST, post messages is not allowed!
关注...我现在就是在做一个网管系统,要求客户端能即时的显示服务器端采集的数据.time控件也想过,但是当数据量大的时候,感觉就有点慢了
Unregistered / Unconfirmed
GUEST, post messages is not allowed!
我以前做的一个工程倒是也遇过这样的问题,不过因为是三层结构的,就在中间层做了一个消息发送的功能。分两步:&br&1、做一个OpenDataSet的功能,统一处理Select对数据库的打开操作。&br&2、在OpenDataSet中做一个规则(保存在数据库中的),如果有关键字符合的Select操作,就把客户机的IP地址记录下来。&br&3、响应TDataSetProvider的OnUpdateData事件,如果有人提交数据,就提交相关的客户机IP地址,发送自定义的数据包到该IP,客户端进行解析后,会根据当前所处模块决定是否自动刷新数据列表。请写出系统加载Edit数据到表格的主程序。!!!!_百度知道
请写出系统加载Edit数据到表格的主程序。!!!!
答题抽奖
首次认真答题后
即可获得3次抽奖机会,100%中奖。
电脑类认证行家
电脑类行家
采纳数:78237
获赞数:79076
泉州兴瑞发公司最佳优秀员工。
首先,你要添加 数据集空件,如:ADOQuery1 然后 设置ADOQuery1的连接到SQL数据库.当然了你必须要创建了数据库以及表.然后,新添一个按纽-&在其按纽的单击事件里写上: ADOQuery1.CADOQuery1.sql.text:='Insert into 表名 SET (字段名) values ('+EDIT.TEXT+')';ADOQuery1.ExecSQL;
为你推荐:
其他类似问题
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。delphi通过INI文件设置数据库动态连接,打不开表格,手动将ADOquery打开,提示无效的授权说明_百度知道
delphi通过INI文件设置数据库动态连接,打不开表格,手动将ADOquery打开,提示无效的授权说明
我在ADOquery属性的Events里的OnRecordsetCreate点开写了语句,还是打不开,难道我写错了?各位大神,麻烦了。procedureTForm2.qry1RecordsetCreate(DataSet:TCustomADODataSconst...
我在ADOquery属性的Events里的OnRecordsetCreate点开写了语句,还是打不开,难道我写错了?各位大神,麻烦了。procedure TForm2.qry1RecordsetCreate(DataSet: TCustomADODataS
const Recordset: _Recordset);begin
答题抽奖
首次认真答题后
即可获得3次抽奖机会,100%中奖。
来自知道合伙人认证行家
软件应用类行家
采纳数:5592
获赞数:8714
毕业于空军第一航空学院电子专业,1991年开始接触电脑,从事多年计算机编程,具有较丰富的经验。
1、建议检查从 INI 中读取数据库连接配置后,能否正确连接到数据库。2、建议将 Query 组件的打开操作放到窗体(或数据模块)的初始化事件中,比如 OnFormCreate。
ini 配置是正确的,很确定。就是这个adoquery &上次听一个技术大牛说,要写一个打开程序,我在procedure TForm2.qry1RecordsetCreate(DataSet: TCustomADODataSconst Recordset: _Recordset);不知道有没有选错属性和写错代码?你写的第二条 我看不懂,能再具体一下吗,我刚学delphi,麻烦了。
通常,在对数据库、表进行操作之间,必须要先打开数据表(建立数据库连接),这个打开操作可以放在做生意位置,只要是在进行数据表操作之前即可,但通常如果不是即时变动的表,打开的操作一般放在窗体或是 DataModule 的建立事件中,如下示例:procedure TdmData.DataModuleCreate(Sender: TObject);begin
OpenDBF;//打开数据模块里的所有数据表
为你推荐:
其他类似问题
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。}

我要回帖

更多关于 Excel表格数据怎样更新 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信