none
ODBC til Excel of Access C52010 Sp1 Hf6 SQL - tomme felter

    Spørgsmål

  • Alle tomme felter i C5 får et mystiskt tegn (½ firkant) når der kædes til Excel og/eller Access 2010
    Der var ingen problemer til Native databasen, men er opstået efter overgang til SQL
    Colation i SQL Server 2008 Express er valgt SQL_Danish_Pref_CP1_CI_AS
    Nogle bud?


    SM
    5. maj 2011 09:11

Alle besvarelser

  • Hej Morten, Tegnet, som du ser er ASCII 2, som er C5 kernens default feltværdi på både Native og SQL.

    C5 kerner og C5 Native ODBC driver har et forhold til feltværdiens specielle betydning, men det har SQL ODBC driveren ikke.

     


    Venlig Hilsen Henrik Hansen Program Manager II Microsoft Dynamics C5
    6. maj 2011 05:22
    Ejer
  • Hej Henrik,
    Tak for dit svar. Har du også en løsning til hvordan man undgår at få disse ASCII 2 tegn med i Excel/Access?
    De pynter jo ikke på rapporter, brevfletninger mm. :)


    MS
    6. maj 2011 07:37
  • Hej Morten,

    Ud at være SQL ekspert, ser følgende ud til at kunne hjælpe:

    SELECT

    "ACCOUNT",

    "NAME",

    CASE ASCII("ADDRESS1") WHEN 2 THEN NULL ELSE "ADDRESS1" END AS "ADDRESS1",

    CASE ASCII("ADDRESS2") WHEN 2 THEN NULL ELSE "ADDRESS2" END AS "ADDRESS2",

    CASE ASCII("ZIPCITY") WHEN 2 THEN NULL ELSE "ZIPCITY" END AS "ZIPCITY",

    CASE ASCII("COUNTRY") WHEN 2 THEN NULL ELSE "COUNTRY" END AS "COUNTRY",

    CASE ASCII("ATTENTION") WHEN 2 THEN NULL ELSE "ATTENTION" END AS "ATTENTION",

    CASE ASCII("PHONE") WHEN 2 THEN NULL ELSE "PHONE" END AS "PHONE",

    CASE ASCII("FAX") WHEN 2 THEN NULL ELSE "FAX" END AS "FAX"

    FROM "dbo"."CUSTTABLE"

    WHERE "DATASET" = 'DMO'

    Hvis ovenstående forespørgsel anvendes fra Excel kommer ASCII 2 ikke med.

     

     

     


    Venlig Hilsen Henrik Hansen Program Manager II Microsoft Dynamics C5
    6. maj 2011 09:03
    Ejer
  • Hej Morten,

    Bedre løsning:

    SELECT

    "ACCOUNT",

    "NAME",

    ADDRESS1 = REPLACE(ADDRESS1,CHAR(2),''),

    ADDRESS2= REPLACE(ADDRESS2,CHAR(2),''),

    ZIPCITY= REPLACE(ZIPCITY,CHAR(2),''),

    COUNTRY= REPLACE(COUNTRY,CHAR(2),''),

    ATTENTION= REPLACE(ATTENTION,CHAR(2),''),

    PHONE= REPLACE(PHONE,CHAR(2),''),

    FAX= REPLACE(FAX,CHAR(2),'')

    FROM "dbo"."CUSTTABLE"

    WHERE "DATASET" = 'DMO'

    At erstatte ASCII 2 med NULL var ikke en god ide - tom streng er bedre.

     


    Venlig Hilsen Henrik Hansen Program Manager II Microsoft Dynamics C5
    6. maj 2011 10:28
    Ejer
  • Atter tak til Henrik,
    Da det jo er fra alle C5 kartoteker dette ASCII 2 tegn dukker op i Excel og Access, må der da være en generel indstilling eller opsætning, så man undgår dette tegn, ikke?


    MS
    10. maj 2011 12:12
  • Hej Morten,

    Nej, det er der ikke  - det er en del af C5 platformens natur, og det har altid været sådan.

     


    Venlig Hilsen Henrik Hansen Program Manager II Microsoft Dynamics C5
    11. maj 2011 10:16
    Ejer