想实现如下打印:
    "这里打印一句话,固定的"&"接着再打印一个数据库字段,这个字段长度不一"&"紧接着再打印一个数据库字段,长度不一"&再打印一句固定长度的话"要实现它们之间的无缝连接,即不管字段的长度是多少,它们打印出来都是一句连接完整的语句,这样的技巧谁会,我急用
分不够我另外再开帖子,再加就是了!谢谢!

解决方案 »

  1.   

    可能是我没有说明白,我再说明一下,比如我要打印一封信:某某公司某某领导,欢迎您来参加我司庆祝活动.其中第一个和第二个"某某"都是数据库里的一个字段,第一个"某某"公司名称有长有短,比如可能是"正大软件开发公司",也可能是"香港光辉软件股份有限公司";而第二个"某某"是姓名,姓名有可能是两个字,有可能是三个汉字,也可能是四个汉字,这样,长度又不一样,现在我的目的是实现不管这两个字段是长短如何,都能连在一起打印.我现在只能设为最大字长度,但这样的话,第一个"某某"和紧接着的公司就有可能出现空白,同样第二个"某某"和领导之间也可能出现空白,现在说白了,就是不要空白,依据字段长短自动调节.
    如果用VB的PRINTER对象实现这种效果就是如下:
    PRINTER.PRINT RS.FIELDS("公司名").VALUE & "公司"RS.FIELDS("姓名").VALUE & "领导,欢迎您来参加我司庆祝活动."唉,好累哦,说了这么多,不知道大家明白我的意思没有?????
      

  2.   

    明白了,你就用我说的函数的方法来进行吧
    在水晶报表上建立一个函数,名称为MC,在调用水晶报表的时候将要写的内容写进去就可以了。
    Cry1.Formulas(0) = "MC='" & RS.FIELDS("公司名").VALUE & "公司"RS.FIELDS("姓名").VALUE & "领导,欢迎您来参加我司庆祝活动."'"
          
          Cry1.WindowState = crptMaximized
          Cry1.Action = 1
    一定是调用水晶报表后用哦
    关于Formulas,你在建立水晶报表后插入一个函数,不用在函数上进行什么设置,就当成是一个空变量。OK
      

  3.   

    jadehong(jade_hong 嘉德) 哥们儿,你的意思是说先要在我做好的这个报表上先建一个函数,然后在运行的时候再用这个函数吗????那运行是的时候,按你给给的代码一定是要在VB里调用才行了????????
    大哥,还可不可以说得更详细一点,小弟还没有熟悉这个大东东,谢谢了,问题解决了,50分全给你
      

  4.   

    jadehong(jade_hong 嘉德)我已经行了,但是我还想要美化一下,不知道怎么做了,就是在有字段的地方,我想改变字体,比如加粗什么的,这下又怎么办泥
      

  5.   

    在字段的地方点击鼠标右键,记得有"FONT FORMAT"的选项,你可以用它来改变字体的颜色和类型,不过建议你就使用"宋体"9#字,不然发布时候后可能有写问题!
      

  6.   

    把你需要从库中取的字段用函数来控制,象什么"先生"的你就直接写在报表上就可以了,用FORMAT来控制数据库的字段就可以了
      

  7.   

    你在水晶报表上添加一个文本,里面写诸如“先生,女士”等的固定的词语,想一些变换的文本,比如人名,公司名称等项目,你就建立函数进行处理,这样就是多建几个函数而已,就解决了改变字体的烦恼,由于这是直接在水晶报表上的操作,无法给你代码,我给你一个调用水晶报表函数的代码,OK?在已经连接水晶报表的前提下:
    Cry1.Formulas(0) = "MC='" & FrmFX.uctlFormBorder1.Caption & "'"
          
          Cry1.WindowState = crptMaximized
          Cry1.Action = 1Formulas是水晶报表中的调用函数,MC为函数的名称,
    '" & FrmFX.uctlFormBorder1.Caption & "'是你要付给函数的值和表单的字段,一定要在''号之间