Avatar billede celal Nybegynder
10. februar 2003 - 13:05 Der er 17 kommentarer og
2 løsninger

Ændre tabellens datatype fra String til Langt helt tal

jeg vil gerne lave noget VBA, som ændre datatypen i en tabel fra string til "lang helt tal"
Avatar billede jkrons Professor
10. februar 2003 - 13:13 #1
Prøv at indsætte dette i et modulark

Sub SkiftType()
DoCmd.RunSQL ("alter table tabelnavn alter feltnavn long")
End Sub
Avatar billede jkrons Professor
10. februar 2003 - 13:13 #2
Du skal selvfølgelig udskifte tabelnavn og feltnavn med det rigtige.
Avatar billede juks Novice
10. februar 2003 - 13:16 #3
dim Tal3 as Double
dim TalStreng as String


talstreng = oldtal
tal3 = talstreng
Avatar billede celal Nybegynder
10. februar 2003 - 13:19 #4
Jeg har skrevet dette her... men jeg får fejlen "Kørselfejl 3293: Syntax error i ALTER TABLE statemanet"...

DoCmd.RunSQL ("alter table [HENummerScala] alter [OR20072] long")

Hvor er synteax fejlen i dette kode?
Avatar billede jkrons Professor
10. februar 2003 - 13:20 #5
juks-> Din kode ændrer da ikke datatypen på feltet, eller er det bare mig, der sover?
Avatar billede juks Novice
10. februar 2003 - 13:21 #6
TalStreng=cstr(tal1)
tal3 = cdbl(talstreng)
Avatar billede jkrons Professor
10. februar 2003 - 13:21 #7
Har du prøvet uden de firkantede parenteser?
Avatar billede juks Novice
10. februar 2003 - 13:22 #8
hvorfor gør du det ikke bare manuelt
Avatar billede celal Nybegynder
10. februar 2003 - 13:23 #9
Juks: fordi så havde jeg nok ikke oprettet dette spørgsmål......!!
Avatar billede jkrons Professor
10. februar 2003 - 13:24 #10
Dette kører prerfekt hos mig uden syntax fejl

DoCmd.RunSQL ("alter table henummerscala alter or20072 long")
Avatar billede celal Nybegynder
10. februar 2003 - 13:29 #11
Nej, jeg kan ikke få det til at virke.... Kan det skyldes at jeg køre Access 97 ??
Avatar billede jkrons Professor
10. februar 2003 - 13:36 #12
God spørgsmål!  Jeg har ikke 97, så jeg kan ikke teste, men hvis jeg konverterer min DB til 97 og bruger 2000, virker koden stadig.
Avatar billede jkrons Professor
10. februar 2003 - 13:37 #13
Du kan evt. prøve at sende en kopi af databasen, så skal jeg se på den. Lav den evt. med et tomt modul.

jkr@lyngby.nu
Avatar billede celal Nybegynder
10. februar 2003 - 13:42 #14
Det bliver vanskeligt at sende databasen....

Jeg tænkte på noget andet..... Den tabel som jeg vil ændre, er oprettet via TabelOprettelsesforespørgsel, er det muligt at jeg fra denne TabelOprettelsesforespørgsel kan sætte datatypen?
Avatar billede jkrons Professor
10. februar 2003 - 13:48 #15
Hvis du bruger en Create Table så ja, men jeg går ud fra at du bruger en Select Into, og i så fald tror jeg ikke, det kan lade sig gøre at sætte datatypen.
Avatar billede celal Nybegynder
10. februar 2003 - 14:00 #16
jeg burger en Select Into..... hmmmm
Avatar billede proaccess Nybegynder
10. februar 2003 - 14:02 #17
SELECT CLng(Val([FeltNavn])) AS NytFelt INTO NyTabel FROM TabeNavn;
Avatar billede proaccess Nybegynder
10. februar 2003 - 14:03 #18
Du tager først talværdien af eksisterende [FeltNavn] ved hjælp af Val, derefter kan du caste den med CLng, så du får et langt heltal i din nye tabel...
Avatar billede jkrons Professor
10. februar 2003 - 14:03 #19
Har du prøvet med en simpel forespørgsel (altså ikke i et modul):

Opret en forespørgsel med følgende SQL. Hvad siger den

ALTER TABLE HENummerScala
ALTER OR20072 LONG;
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester