uitvoer als getal in plaats van string

Status
Niet open voor verdere reacties.

HenkGRIP

Gebruiker
Lid geworden
30 nov 2010
Berichten
18
In de database staan de waardes als string vermeld
Echter als ik de gegevens in excel wil binnen halen d.m.v. het comando CopyFromRecordset dan krijgt ik de getallen als tekst weergegeven terwijl ik wit dat getallen ook als getallen worden weergegeven in excel.

Ik gebruikt nu onderstaande code in VBA om dit op te halen.


Set Orst = Nothing

SQL = "" & _
" SELECT dbo.sturing.code," & _
" dbo.sturingwaardes.waarde" & _
" FROM dbo.sturingwaardes INNER JOIN" & _
" dbo.sturing ON dbo.parameters.id = dbo.sturingwaardes.sturing_id " & _
" WHERE (dbo.sturing.keten_id = '120')" & _
" ORDER BY dbo.sturing.code"

Set Orst = DB.Execute(SQL)

Sheets("Sturing").Range("A1").CopyFromRecordset Orst
 
Zoiets al eens geprobeerd? CDbl(dbo.sturingwaardes.waarde)
 
Ik heb onderstaand geprobeerd.
Echter dan krijg ik in excel de foutmelding: 'CDbl' is not a recognized built-in function name.

Set Orst = Nothing

SQL = "" & _
" SELECT dbo.sturing.code," & _
" CDbl(dbo.parameterwaardes.waarde)" & _
" FROM dbo.sturingwaardes INNER JOIN" & _
" dbo.sturing ON dbo.parameters.id = dbo.sturingwaardes.sturing_id " & _
" WHERE (dbo.sturing.keten_id = '120')" & _
" ORDER BY dbo.sturing.code"

Set Orst = DB.Execute(SQL)

Sheets("Sturing").Range("A1").CopyFromRecordset Orst
 
Wellicht een workaround....:
Na binnenhalen in excel de tekstvelden pas omzetten naar getallen
 
Voor Sql server doe je het volgende:

Voor hele getallen:

Code:
SQL = "" & _
" SELECT [COLOR="magenta"]CAST[/COLOR](dbo.sturing.code [COLOR="blue"]AS INT[/COLOR])," & _
" dbo.sturingwaardes.waarde" & _
" FROM dbo.sturingwaardes INNER JOIN" & _
" dbo.sturing ON dbo.parameters.id = dbo.sturingwaardes.sturing_id " & _
" WHERE (dbo.sturing.keten_id = '120')" & _
" ORDER BY dbo.sturing.code"

voor Floating point values(zwevende komma)

Code:
SQL = "" & _
" SELECT [COLOR="magenta"]CAST[/COLOR](dbo.sturing.code [COLOR="blue"]AS REAL[/COLOR])," & _
" dbo.sturingwaardes.waarde" & _
" FROM dbo.sturingwaardes INNER JOIN" & _
" dbo.sturing ON dbo.parameters.id = dbo.sturingwaardes.sturing_id " & _
" WHERE (dbo.sturing.keten_id = '120')" & _
" ORDER BY dbo.sturing.code"
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan