Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在Ms Access查询中插入换行符_Php_Ms Access - Fatal编程技术网

Php 在Ms Access查询中插入换行符

Php 在Ms Access查询中插入换行符,php,ms-access,Php,Ms Access,您好,我正在开发一个PHP应用程序,不幸的是,它必须使用MS Access作为后端,与mysql相比,我的Access并不是100%最新的 我试图在客户表中生成地址标签字段。其想法是有一个地址行(最多7行),如果不为空,则包含行,然后换行,以便获得没有空行的邮资标签样式 到目前为止,我的查询中有这个 SELECT tblCompany.CompanyId, tblCompany.CompanyTypeId, tblCompany.CompanyName, IIF(Len(PafAddre

您好,我正在开发一个PHP应用程序,不幸的是,它必须使用MS Access作为后端,与mysql相比,我的Access并不是100%最新的

我试图在客户表中生成地址标签字段。其想法是有一个地址行(最多7行),如果不为空,则包含行,然后换行,以便获得没有空行的邮资标签样式

到目前为止,我的查询中有这个

SELECT
tblCompany.CompanyId,
tblCompany.CompanyTypeId,
tblCompany.CompanyName,
    IIF(Len(PafAddress.line1)>0,PafAddress.line1,"") & " "  &
    IIF(Len(PafAddress.line2)>0,PafAddress.line2,"") & " " &
    IIF(Len(PafAddress.line3)>0,PafAddress.line3,"") & " " &
    IIF(Len(PafAddress.line4)>0,PafAddress.line4,"") & " " &
    IIF(Len(PafAddress.Line5)>0,PafAddress.line5,"") & " " &
    IIF(Len(PafAddress.post_town)>0,PafAddress.post_town,"") & " " &
    IIF(Len(PafAddress.county)>0,PafAddress.county,"") & " " &
    IIF(Len(PafAddress.postcode)>0,PafAddress.postcode,"") 
    AS AddressLabel,
FROM tblCompany
LEFT OUTER JOIN PafAddress ON tblCompany.PafAddressId = PafAddress.id
然而,这只是在每个条目旁边放置了几个空格,而不是换行符,我已经尝试过了

&CHAR(13)+CHAR(10)和

但只要继续

未定义函数字符


有人能帮忙吗?

空字段的长度不是零而是空的,您必须使用Access SQL和函数名:

SELECT
tblCompany.CompanyId,
tblCompany.CompanyTypeId,
tblCompany.CompanyName,
    PafAddress.line1 &
    (Chr(13) + Chr(10) + PafAddress.line2) &
    (Chr(13) + Chr(10) + PafAddress.line3) &
    (Chr(13) + Chr(10) + PafAddress.line4) &
    (Chr(13) + Chr(10) + PafAddress.line5) &
    (Chr(13) + Chr(10) + PafAddress.post_town) &
    (Chr(13) + Chr(10) + PafAddress.county) &
    (Chr(13) + Chr(10) + PafAddress.postcode)
AS AddressLabel,
FROM tblCompany
LEFT OUTER JOIN PafAddress 
    ON tblCompany.PafAddressId = PafAddress.id

这将在非空字段前插入新行。

非常难看,但这应该适用于AddressLabel字段:

Left(IIF(Not(IsNull(PafAddress.line1)),PafAddress.line1和Chr(13)和Chr(10),“”)和IIF(Not(IsNull(PafAddress.line2)),PafAddress.line2和Chr(13)和Chr(10),“”)和IIF(Not(IsNull(PafAddress.line4)),PafAddress.line4和Chr(13)和Chr(10),“”,不(PafAddress.Line5)、PafAddress.Line5和Chr(13)和Chr(10),“”)和IIF(非IsNull(PafAddress.post_town))、PafAddress.post_town和Chr(13)和Chr(10),“”)和IIF(非IsNull(PafAddress.county))、PafAddress.county和Chr(13)和Chr(10),“”)和IIF(非IsNull(PafAddress.postcode)和Chr(13)、PafAddress.postcode和Chr(10),“”、Len(IIF)和Chr(非IsNull(PafAddress.1)),PafAddress.line1和Chr(13)和Chr(10),“”)和IIF(不是(IsNull(PafAddress.line2)),PafAddress.line2和Chr(13)和Chr(10),“”)和IIF(不是(IsNull(PafAddress.line3)),PafAddress.line3和Chr(13)和Chr(10),“”)和IIF(不是(IsNull(PafAddress.line4和Chr(13)),PafAddress.line4和Chr(10),“”)和IIF(不是(IsNull(faddress.Line5)),PafAddress.line10),“”)&IIF(Not(IsNull(PafAddress.post_town))、PafAddress.post_town和Chr(13)和Chr(10),“”)和IIF(Not(IsNull(PafAddress.county))、PafAddress.county和Chr(13)和Chr(10),“”)和IIF(Not(IsNull(PafAddress.postcode))、PafAddress和Chr(13)和Chr(10),“”)-2)作为地址标签,

拼写,CHR,而不是CHAR:另外,请查看如何使用plus(+)作为串联器与MS Access配合使用。我认为如果
PafAddress.line1
为空,则此代码将在任何其他行之前向
AddressLabel
输出一个空行。至少会填充一行,这将是第一行。无论填充多少行,这都会添加一个跟踪换行符。