none
Ændring af regnbskabsnavn i C5 2012 SQL

    Spørgsmål

  • Hej,

    Er der nogen der ved om det er muligt at ændre navnet (dataset) på på et regnskab i C5 SQL? Eller om man skal igennem export/import for at gøre dette.

    Venlig hilsen

    Sune Opstrup
    iVISION ApS

    17. september 2013 16:04

Alle besvarelser

  • Nej - det skal være export/import.

    MVH Ole Balslev, NORRIQ

    19. september 2013 11:56
  • Jo det kan man godt.

    Med venlig hilsen

    Erling Damsgaard - Scanditek ApS - ed@scanditek.dk

    {XAL:SQLRename}
    // Scanditek ApS - Uden ansvar
    
    #MacroLoad(SQL)
    #MacroLoad(DATABASE_INFORMATION)
    
    STR 3 &FromCompany
    STR 3 &ToCompany
    STR 10 &StartStr
    
    INT &NTabs
    INT &Table
    INT &TableId
    
    #IFNOT.SQL
    RETURN 0
    #ENDIF
    
    #Prompt "Omd›b SQL regnskab",
        #StrPrompt("Fra") GET(&FromCompany),
        #StrPrompt("Til") GET(&ToCompany),
        "-",
        #StrPrompt("Skriv \"START\"") GET(&StartStr),
    #PromptAbort(10,10)
    SET &FromCompany = StrLTrim(StrRTrim( &FromCompany ))
    SET &ToCompany = StrLTrim(StrRTrim( &ToCompany ))
    
    
    IF &FromCompany == '' OR
       &ToCompany == '' OR
       &FromCompany == &ToCompany OR
       &FromCompany == 'DAT' OR
       &ToCompany == 'DAT' THEN
        RETURN 0
    ENDIF
    
    IF &DataFile == &FromCompany THEN
        RETURN 0 //
    ENDIF
    
    IF &StartStr <> 'START' THEN
        RETURN 0
    ENDIF
    
    PRINT "Husk at SQL databasen vil lave en stor transaktion!"
    PAUSE
    
    PRINT "Starter rename  '",&FromCompany,"' -> '",&ToCompany,"'..."
    
    SET &NTabs = #Db_Dictionary(FILES)
    FOR &Table = 1 TO &NTabs
        SET &TableId = FileNo2Id(&Table)
    
    
        IF #Db_File(FileId2Name(&TableId),File) == 0 THEN
            PRINT &Table,'/',&NTabs,' : ',FileId2Name(&TableId)
            SET SQLClear()
            SET SQLExecute('UPDATE '+#SQLTableName2(FileId2Name(&TableId))+ ' SET DATASET = \'' + &ToCompany +'\' WHERE DATASET = \'' + &FromCompany + '\' ')
        ENDIF
    
    END
    
    PRINT #XALSEQ
    SET SQLClear()
    SET SQLExecute('UPDATE '+#XALSEQ+' SET DATASET = \'' + &ToCompany +'\' WHERE DATASET = \'' + &FromCompany + '\' AND SEQID = 0')
    
    
    PRINT #XALUTIL
    SET SQLClear()
    SET SQLExecute('UPDATE '+#XALUTIL+' SET DATASET = \'' + &ToCompany +'\' WHERE DATASET = \'' + &FromCompany + '\' ')
    
    
    PRINT "F‘rdig"
    PAUSE
    


    29. oktober 2013 16:03