[SQL/MS-Access] ALTER TABLE ... een DECIMAL toevoegen *

Pagina: 1
Acties:

  • jeroen_t
  • Registratie: Februari 2003
  • Laatst online: 09-09-2023
Ik probeer met SQL een veld toe te voegen aan een table in een MS_Access 2000 database.
Dat is op zich geen kunst, een INT of TEXT lukt me prima.

Nu probeer ik echter een DECIMAL(p,s) toe te voegen, en dat wil maar niet lukken i.v.m. "syntax error in field definition". De precision moet (minstens) 6 zijn en er moeten 2 cijfers achter de komma komen. De precision is default 18 (volgens MSDN).

Je zou zeggen:
code:
1
ALTER TABLE tabelnaam ADD COLUMN kolomnaam DECIMAL(18,2)


Die wijsheid heb ik van MSDN, GoT en uit de help van Access2000.

Ook heb ik alle variaties geprobeert met NOT NULL en/of DEFAULT 0. Of bedacht ik nog dat DECIMAL een eigenschap van FLOAT zou kunnen zijn die ik niet goed had begrepen, dus:
code:
1
ALTER TABLE tabelnaam ADD COLUMN kolomnaam FLOAT DECIMAL(18,2)
.

Niets.
Ook de synoniemen DEC en NUMERIC uitgeprobeert (wijsheid afkomstig van MSDN) maar het wil maar niet.

Uiteindelijk ga ik natuurlijk gewoon de database downloaden, het aanpassen in Access en de boel weer uploaden, want het is allemaal geen kritisch 24x7 werk, maar nadat ik zoveel uren heb zitten zoeken op internet en de help-file, wil ik nu toch wel eens weten wat ik nou fout doe ????????

  • Delphi32
  • Registratie: Juli 2001
  • Laatst online: 18-05 23:27

Delphi32

Heading for the gates of Eden

Doe je dit vanuit Access zelf, of vanuit een applicatie? Ik vond nl net dit op de MSDN site:
Note The data types listed in the previous SQL statement can be executed only through the Jet OLE DB provider and ADO. They will result in an error message if used through the Access SQL View user interface. Also note that if you create a field with the NUMERIC data type through the Access SQL View, it will result in a DOUBLE data type when you view the table design through the Access user interface. But if you create the NUMERIC data type through the Jet OLE DB provider and ADO, it will result in a data type of DECIMAL when you view the table design through the Access user interface.
In Access SQL View kan je dus wel NUMERIC columns aanmaken, geen DECIMALs. Dat kan wel als je met Jet OLEDB en ADO een connection bouwt buiten Access om.

  • jeroen_t
  • Registratie: Februari 2003
  • Laatst online: 09-09-2023
Ik wil het buiten Access doen (online dus).
Met ADODB (vanuit PHP in dit geval).

Alleen heb ik het op een gegeven moment vanuit Access geprobeert in een test-db omdat dat sneller ging om te testen.

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 11:43

gorgi_19

Kruimeltjes zijn weer op :9

jeroen_t, zie **** Over topictitels in P&W - Updated 9 mei 04 ****

Kan je nog een goede titel voor je topic aangeven, zodat hij veranderd kan worden? :)

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • jeroen_t
  • Registratie: Februari 2003
  • Laatst online: 09-09-2023
gorgi_19 schreef op donderdag 30 december 2004 @ 09:30:
jeroen_t, zie **** Over topictitels in P&W - Updated 9 mei 04 ****

Kan je nog een goede titel voor je topic aangeven, zodat hij veranderd kan worden? :)
Mijn excuses, ik had zo m'n best gedaan op de [SQL/MS-Access] dat ik de echte titel vergeten ben.........

Ik denk "ALTER TABLE ... een DECIMAL toevoegen"