解决方案 »
- 关于创建类中的 在一个窗体打开另一个窗体的释放问题
- fastreport 预览时如何把多页报表顺序的显示在一页上,不分页?
- 关于变量类型转换的问题!!!
- delphi如何執行Debug命令
- 一个有关树(TREEVIEW)的问题
- 如何將資料庫中為空的記錄取出來?
- 请问TCombobox控件的弹出列表,能不能让他再大点,再宽点。。。显示的东西太少。不好用来。
- 关于DLL的问题 ,请教大家 有酬谢
- Delphi中如果对注册表中的REG_NONE类型进行读写操作?
- 如何解决Range check error 错误
- CXGRID 自带右键Footer上右键出错
- (新开帖)高手请进,数据字段操作的2个问题
1.建立連接這個excel的odbc數據源
2.在delphi用數據庫組件連接這個odbc數據源
3.讀取excel數據,然後更新
a 取一个AdoConnection控件,属性ConnectionString设置为如下 Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\CaiWu\源数据\应收款项情况表\2004\应收款项情况表
_CASW_200405.xls;Extended Properties=Excel 8.0;Persist Security Info=False Data Source就是你的EXCEL文件
b 取一个AdoQuery 连接到你的AdoConnection控件.
c 你就可以编写SQL来取数据了,就像这杯EXCEL 文件是普通的表一样。2 sql
a excel 每个分页(Sheet),为一个数据表,例如你有个页名字为"资产负债表"
Sql:= select * from [资产负债表$] where 3 你的要求
a 档案号为编号的第6位数字开始的连续7个数字,并用短线隔开如下列所示;
我也没看到你的例子在那里,凑活写一个。
select SubString(编号, 6, 7) as from [SheetName$] where
b 档案级别:945~1044为0,845~944为2,以此类推.....
看不懂你要什么呢
我只是给你说了怎么连接,具体的SQL,就要靠你自己了,你写的也太含糊了
procedure GetDAStr(Source: string; var dah, jb: string);
var
tmpDah: string;
tmpjb: integer;
begin
dah := '';
// 取第6个开始的7个字符
tmpDah := Copy(Source, 6, 7);
// 前三个
dah := leftStr(tmpDah, 3) + '-';
// 中间两个
dah := dah + Copy(tmpDah, 4, 2) + '-';
// 最后两个
dah := dah + rightStr(tmpDah, 2); // 前三个转换成整形好计算
tmpjb := StrToIntDef(leftstr(tmpDah, 3), 0);
// 小于100即为 1000 - 1044的情况为0
if tmpjb < 100 then
tmpjb := 0
else
tmpjb := 10 - Round((tmpjb + 5.1) / 100) ; //tmpjb + 5.1,则最小的情况如845会变成850.1,除100再四舍五入为9,10-9为1
jb := IntToStr(tmpjb);
end;procedure TForm1.Button1Click(Sender: TObject);
var
dah, jb: string;
begin
GetDAStr('1556494565321651', dah, jb);
Caption := dah + ' ' + jb;
end;
把excel表中的数据全部导进一个表(中间表)中。再对这个表进行处理。
我用wintergoes(多来米饭少来稀) 的方法,得到的结果为:945-65-32 5。
可是我要把‘945-65-32’和‘5’提取出来,并分别写入到‘ 档案号’和‘档案级别’字段内,再一次请问应该如何做到啊?原来的表示这样:
编号 性别 婚否 档案号 档案级别
1556494565321651 男 是
1556484565321651 男 是
1556474565321651 女 否
1556474565321651 女 是
我要实现这样的结果:
编号 性别 婚否 档案号 档案级别
1556494565321651 男 是 945-65-32 0
1556484565321651 男 是 845-65-32 1
1556474565321651 女 否 745-65-32 2
1556474565321651 女 是 745-65-32 2
xjwy (程序春秋)的方法详细说明了数据接入的问题,wintergoes (多来米饭少来稀)的代码给了我一个思路。 我在此非常感谢。
这几天我整优秀党员材料来交去了,所以晚了些结贴,不好意思了。 有你们的帮助,我没有理由停滞不前。我要向你们学习,以后我能帮助人的时候,一定热心去帮助人的。