一、
数据库是Access的,现在要判断里面的数据表的字段类型,比如memo,char(n)啥的
如果 字段 是 整型
则 A='i'!必须能判断出字符型的大小如Char(n)的n要判断得出来? 用了Field.datatype,可是不知道怎么拿来判断二、
DBgrid编辑怎么让它能编辑啊? 还有Dbedit那些的。都设了Dgediting=true,readonly=fasle 还是不行,query又没哪个选项可以设置的,奇怪了,只能看不能改了?三、QuickReport怎么动态分页?
可以动态地创建报表,可是分不了页,怎么判断才行?
能不能使用户能在报表上加自己的文字之类的? (就是报表创建完后)附加题: 怎么使窗体内的控件大小随窗口的缩放按比例缩放?谢谢
数据库是Access的,现在要判断里面的数据表的字段类型,比如memo,char(n)啥的
如果 字段 是 整型
则 A='i'!必须能判断出字符型的大小如Char(n)的n要判断得出来? 用了Field.datatype,可是不知道怎么拿来判断二、
DBgrid编辑怎么让它能编辑啊? 还有Dbedit那些的。都设了Dgediting=true,readonly=fasle 还是不行,query又没哪个选项可以设置的,奇怪了,只能看不能改了?三、QuickReport怎么动态分页?
可以动态地创建报表,可是分不了页,怎么判断才行?
能不能使用户能在报表上加自己的文字之类的? (就是报表创建完后)附加题: 怎么使窗体内的控件大小随窗口的缩放按比例缩放?谢谢
解决方案 »
- 大虾们推荐个可合并单元格的支持数据库的表格组件?
- Delphi 7 run error
- 关于TWebbrowser的问题。
- 菜鸟问(怎样用ADO控件实现对已知表的数据的读取)
- 怎么改变一个stringgrid的单元格的颜色?
- 有经验的大虾们:SQL运行报错:Invalid use of keyword这是什么错误阿?(在线等待!!!)
- 我要实现双击dbgrid中某一列,比如0列弹出一个对话框,双击3列弹出的又是另一个对话筐,怎么实现?
- 散分了!为什么我的可用分有好几天没有增加了,本来是每天10分,现在过了好几天了,还是上个星期的可用分,为什么?
- song fen ya~~~ very easy
- 高手死哪去了。
- 关于图像大小问题
- connection与connectiongstring的区别
2.datatype
if adoquery1.fields[0].DataType = ftinteger then
showmessage('ok');
其他的datatype:ftUnknown, ftString, ftSmallint, ftInteger, ftWord,
ftBoolean, ftFloat, ftCurrency, ftBCD, ftDate, ftTime, ftDateTime,
ftBytes, ftVarBytes, ftAutoInc, ftBlob, ftMemo, ftGraphic, ftFmtMemo,
ftParadoxOle, ftDBaseOle, ftTypedBinary, ftCursor, ftFixedChar, ftWideString,
ftLargeint, ftADT, ftArray, ftReference, ftDataSet, ftOraBlob, ftOraClob,
ftVariant, ftInterface, ftIDispatch, ftGuid3.query又没哪个选项可以设置的
如果是query则把RequestLive置为true
4.附加题: 怎么使窗体内的控件大小随窗口的缩放按比例缩放?
anchors属性的akLeft,akTop,akRight,akBottom都置为ture;
5.能不能使用户能在报表上加自己的文字之类的
放个qrLabel不就行了
放个qrLabel不就行了-- 可是它报表会充满一整页啊? 我放上去其他控件等到运行的时候就淹了?还有动态分页不知道怎么实现?
只差一个DbControls..的不能编辑了,我都没搞懂哪错了还有动态分页不知道怎么实现?只能是,满足条件后调用 QuickRep1.NewPage;
==我的程序大概就这样,分页还是错的啊。。for i:=0 to query1.FieldCount-1 do
begin
mylabel:=tqrlabel.Create(self);
mylabel.Parent:=qrband2;
with mylabel do
begin
top:=0;
AutoSize:=false;
left:=myleft;
height:=qrband2.Height;
// hrep:=hrep+height; // ........
font.Name:='宋体';
caption:=query1.Fields[i].FieldName;
alignment:=tacenter;
end; // with // 表格内容
mytext:=tqrdbtext.Create(self);
mytext.Parent:=qrband3;
with mytext do
begin
top:=0;
AutoSize:=false;//一定要设置
left:=myleft;
width:=getFieldWidth(query1.Fields[i]);
dataset:=query1;
DataField:=query1.Fields[i].FieldName;
alignment:=tacenter;
end; //with
myleft:=myleft+getFieldWidth(query1.Fields[i]); query1.Next;
// hrep:=height+hrep; //.............////////////////// 一加入这段想要分页,就错了////////////那怎么判断啊?
{ if hrep>quickrep1.height then //分页
begin
quickrep1.NewPage;
hrep:=qrband1.Height; // 高度重新开始
end; }end; //for
quickrep1.Page.Orientation:=poPortrait;
quickrep1.DataSet:=query1;
// 这个不理解,不加这句只打印出一行,上面不是已经循环过了吗?为什么还要这句? quickrep1.Preview;============差不多上面的程序是可以输出一页,但如果数据集记录多的话,无法换页啊!一换页就是错的。。
showMessage(formatFloat('0.00',f)); 结果: f=21,01
怎么让它用小数点. 来分割啊。。以前都不会,不知道什么时候就这样了
关于分页的,看不懂你写的,再想想newPage放在什么地方合适吧f:=21.012250033544;
showMessage(formatFloat('0.00',f));我这里没问题
可能你改了delphi的ide的什么设置了
showMessage(formatFloat('0.00',f));我这里没问题
可能你改了delphi的ide的什么设置了==就是啊,我都奇怪了,连VB里也是逗点显示了,真奇怪,原来好像不会,不知道什么时候就会了