把数据类型显式转换成varchar(10)

解决方案 »

  1.   


    我用的vba写,vba没有varchar类型...
      

  2.   

    有没有字符串类型?没用过vba
      

  3.   


    我用的vba写,vba没有varchar类型...你的语句直接放到sql server里运行,会报错吗,还是说只是在你的vba中执行的时候才会报错
      

  4.   


    vba里面String就是字符串类型,但我现在就把ids定义为String类型的,报错
      

  5.   

    IDS定义成BIGINT 类型 有木有?
      

  6.   


    我用的vba写,vba没有varchar类型...你的语句直接放到sql server里运行,会报错吗,还是说只是在你的vba中执行的时候才会报错我还没在SQL SERVER中执行过这个句话,我电脑没SQLSERVER.  我用MSGBOX显示ids的值,显示出来的"PO",不是10位数数字
      

  7.   


    VBA里面没BIGINT数据类型...
      

  8.   


    报的就是转换varchar值 "1111111111"时溢出了整数列...溢出
      

  9.   

    那你试试把SQL封装成存储过程,vba纯调用
      

  10.   


    你把VBA想得太高端了...呵呵,vb脚本,应用广泛,特别是excel,word中
      

  11.   


    你把VBA想得太高端了...呵呵,vb脚本,应用广泛,特别是excel,word中我是java转vba....现在还属于VBA菜鸟,VB都还没使用过...大神帮我分析分析到底怎么操作呢
      

  12.   


    你把VBA想得太高端了...呵呵,vb脚本,应用广泛,特别是excel,word中我是java转vba....现在还属于VBA菜鸟,VB都还没使用过...大神帮我分析分析到底怎么操作呢能不能直接把类型转化成string呢
      

  13.   


    你把VBA想得太高端了...呵呵,vb脚本,应用广泛,特别是excel,word中我是java转vba....现在还属于VBA菜鸟,VB都还没使用过...大神帮我分析分析到底怎么操作呢能不能直接把类型转化成string呢sql = sql & " and id in CStr((" & ids & "))"
    报错,CStr附近语法错误
      

  14.   


    你把VBA想得太高端了...呵呵,vb脚本,应用广泛,特别是excel,word中我是java转vba....现在还属于VBA菜鸟,VB都还没使用过...大神帮我分析分析到底怎么操作呢能不能直接把类型转化成string呢sql = sql & " and id in CStr((" & ids & "))"
    报错,CStr附近语法错误能不能下个断点,然后看一下,最后这个变量sql的值是多少,也就是最后拼接成的sql语句是什么,贴出来看看
      

  15.   


    你把VBA想得太高端了...呵呵,vb脚本,应用广泛,特别是excel,word中我是java转vba....现在还属于VBA菜鸟,VB都还没使用过...大神帮我分析分析到底怎么操作呢能不能直接把类型转化成string呢sql = sql & " and id in CStr((" & ids & "))"
    报错,CStr附近语法错误能不能下个断点,然后看一下,最后这个变量sql的值是多少,也就是最后拼接成的sql语句是什么,贴出来看看
    你把VBA想得太高端了...呵呵,vb脚本,应用广泛,特别是excel,word中我是java转vba....现在还属于VBA菜鸟,VB都还没使用过...大神帮我分析分析到底怎么操作呢能不能直接把类型转化成string呢sql = sql & " and id in CStr((" & ids & "))"
    报错,CStr附近语法错误能不能下个断点,然后看一下,最后这个变量sql的值是多少,也就是最后拼接成的sql语句是什么,贴出来看看
    太长了...根本复制不完啊....
      

  16.   


    你把VBA想得太高端了...呵呵,vb脚本,应用广泛,特别是excel,word中我是java转vba....现在还属于VBA菜鸟,VB都还没使用过...大神帮我分析分析到底怎么操作呢能不能直接把类型转化成string呢sql = sql & " and id in CStr((" & ids & "))"
    报错,CStr附近语法错误能不能下个断点,然后看一下,最后这个变量sql的值是多少,也就是最后拼接成的sql语句是什么,贴出来看看select id,origin,supplier,invoice_name,receiving_date,invoice_no,cbl1,cbl2,so,fcr,hbl,consignee,department,product,etd,due_date,container_no,container_size,quantity,charge_item,charge_code,unit_price,invoice_amount,due_amount,no_vat,currency,cus_uid,status,re,po,item,po_amt,com1,fact_code from dbo.invoice where 1=1  and id in (PO)这是最后的SQL代码
      

  17.   


    你把VBA想得太高端了...呵呵,vb脚本,应用广泛,特别是excel,word中我是java转vba....现在还属于VBA菜鸟,VB都还没使用过...大神帮我分析分析到底怎么操作呢能不能直接把类型转化成string呢sql = sql & " and id in CStr((" & ids & "))"
    报错,CStr附近语法错误能不能下个断点,然后看一下,最后这个变量sql的值是多少,也就是最后拼接成的sql语句是什么,贴出来看看select id,origin,supplier,invoice_name,receiving_date,invoice_no,cbl1,cbl2,so,fcr,hbl,consignee,department,product,etd,due_date,container_no,container_size,quantity,charge_item,charge_code,unit_price,invoice_amount,due_amount,no_vat,currency,cus_uid,status,re,po,item,po_amt,com1,fact_code from dbo.invoice where 1=1  and id in (PO)这是最后的SQL代码这个id是整数把,但是po 这个是哪个表的字段
      

  18.   


    你把VBA想得太高端了...呵呵,vb脚本,应用广泛,特别是excel,word中我是java转vba....现在还属于VBA菜鸟,VB都还没使用过...大神帮我分析分析到底怎么操作呢能不能直接把类型转化成string呢sql = sql & " and id in CStr((" & ids & "))"
    报错,CStr附近语法错误能不能下个断点,然后看一下,最后这个变量sql的值是多少,也就是最后拼接成的sql语句是什么,贴出来看看select id,origin,supplier,invoice_name,receiving_date,invoice_no,cbl1,cbl2,so,fcr,hbl,consignee,department,product,etd,due_date,container_no,container_size,quantity,charge_item,charge_code,unit_price,invoice_amount,due_amount,no_vat,currency,cus_uid,status,re,po,item,po_amt,com1,fact_code from dbo.invoice where 1=1  and id in (PO)这是最后的SQL代码这个id是整数把,但是po 这个是哪个表的字段ID是整数,PO是dbo.invoice里面的字段
      

  19.   


    你把VBA想得太高端了...呵呵,vb脚本,应用广泛,特别是excel,word中我是java转vba....现在还属于VBA菜鸟,VB都还没使用过...大神帮我分析分析到底怎么操作呢能不能直接把类型转化成string呢sql = sql & " and id in CStr((" & ids & "))"
    报错,CStr附近语法错误能不能下个断点,然后看一下,最后这个变量sql的值是多少,也就是最后拼接成的sql语句是什么,贴出来看看select id,origin,supplier,invoice_name,receiving_date,invoice_no,cbl1,cbl2,so,fcr,hbl,consignee,department,product,etd,due_date,container_no,container_size,quantity,charge_item,charge_code,unit_price,invoice_amount,due_amount,no_vat,currency,cus_uid,status,re,po,item,po_amt,com1,fact_code from dbo.invoice where 1=1  and id in (PO)这是最后的SQL代码这个id是整数把,但是po 这个是哪个表的字段ID是整数,PO是dbo.invoice里面的字段PO是dbo.invoice里面的字段 这个字段是什么类型的呢
      

  20.   


    你把VBA想得太高端了...呵呵,vb脚本,应用广泛,特别是excel,word中我是java转vba....现在还属于VBA菜鸟,VB都还没使用过...大神帮我分析分析到底怎么操作呢能不能直接把类型转化成string呢sql = sql & " and id in CStr((" & ids & "))"
    报错,CStr附近语法错误能不能下个断点,然后看一下,最后这个变量sql的值是多少,也就是最后拼接成的sql语句是什么,贴出来看看select id,origin,supplier,invoice_name,receiving_date,invoice_no,cbl1,cbl2,so,fcr,hbl,consignee,department,product,etd,due_date,container_no,container_size,quantity,charge_item,charge_code,unit_price,invoice_amount,due_amount,no_vat,currency,cus_uid,status,re,po,item,po_amt,com1,fact_code from dbo.invoice where 1=1  and id in (PO)这是最后的SQL代码这个id是整数把,但是po 这个是哪个表的字段ID是整数,PO是dbo.invoice里面的字段PO是dbo.invoice里面的字段 这个字段是什么类型的呢char(10)
      

  21.   


    你把VBA想得太高端了...呵呵,vb脚本,应用广泛,特别是excel,word中我是java转vba....现在还属于VBA菜鸟,VB都还没使用过...大神帮我分析分析到底怎么操作呢能不能直接把类型转化成string呢sql = sql & " and id in CStr((" & ids & "))"
    报错,CStr附近语法错误能不能下个断点,然后看一下,最后这个变量sql的值是多少,也就是最后拼接成的sql语句是什么,贴出来看看select id,origin,supplier,invoice_name,receiving_date,invoice_no,cbl1,cbl2,so,fcr,hbl,consignee,department,product,etd,due_date,container_no,container_size,quantity,charge_item,charge_code,unit_price,invoice_amount,due_amount,no_vat,currency,cus_uid,status,re,po,item,po_amt,com1,fact_code from dbo.invoice where 1=1  and id in (PO)这是最后的SQL代码这个id是整数把,但是po 这个是哪个表的字段ID是整数,PO是dbo.invoice里面的字段PO是dbo.invoice里面的字段 这个字段是什么类型的呢char(10)把语句改成:select id,origin,supplier,invoice_name,receiving_date,invoice_no,cbl1,cbl2,so,fcr,hbl,consignee,department,product,etd,due_date,container_no,container_size,quantity,charge_item,charge_code,unit_price,invoice_amount,due_amount,no_vat,currency,cus_uid,status,re,po,item,po_amt,com1,fact_code from dbo.invoice where 1=1  and cast(id as bigint)  in (cast(PO as bigint))
      

  22.   

    把语句改成:select id,origin,supplier,invoice_name,receiving_date,invoice_no,cbl1,cbl2,so,fcr,hbl,consignee,department,product,etd,due_date,container_no,container_size,quantity,charge_item,charge_code,unit_price,invoice_amount,due_amount,no_vat,currency,cus_uid,status,re,po,item,po_amt,com1,fact_code from dbo.invoice where 1=1  and cast(id as bigint)  in (cast(PO as bigint))好的,我试试,有问题我再请教你
      

  23.   

    select id,origin,supplier,invoice_name,receiving_date,invoice_no,cbl1,cbl2,so,fcr,hbl,consignee,department,product,etd,due_date,container_no,container_size,quantity,charge_item,charge_code,unit_price,invoice_amount,due_amount,no_vat,currency,cus_uid,status,re,po,item,po_amt,com1,fact_code from dbo.invoice where 1=1  and cast(id as bigint)  in (cast(PO as bigint))不行,还是报错,错误提示:从数据类型varchar转换为bigint时出错.
      

  24.   

    ID是int类型,现在报错从"数据类型varchar转换为bigint时出错"
      

  25.   

    如果PO是invoice表里的一个字段,在数据库中执行就会提示将哪个值转换成int型数据时失败,如果只是你在vba中定义的一个变量,那就肯定是你的vba脚本写错了。出来的语句应该是这样的才对
    select id,origin,supplier,invoice_name,receiving_date,invoice_no,cbl1,cbl2,so,fcr,hbl,consignee,department,product,etd,due_date,container_no,container_size,quantity,charge_item,charge_code,unit_price,invoice_amount,due_amount,no_vat,currency,cus_uid,status,re,po,item,po_amt,com1,fact_code from dbo.invoice where 1=1  and id in (11111111)
    最后应该是id in (常量)
      

  26.   

    应该是这样,你第ID因为是int型,所以id in 里面也应该是常量
      

  27.   

    我觉得是SQL语句的问题,不是VBA的问题
      

  28.   


    这SQL语句是他们以前写的,我就是看不懂那个where 1=1是什么意思
      

  29.   


    不行,还是报错,错误提示:从数据类型varchar转换为bigint时出错.
    你的PO里面有字符串数据么?例如:‘123a’这样的,为啥要把PO定义成char