30. januar 2004 - 10:20Der er
9 kommentarer og 3 løsninger
Lange text strenge
Jeg henter data fra et Notat-felt ind i en <textarea> for at brugeren kan rette. Derefter får jeg det rettede ind i en variabel 'txt' som jeg bygger en INSERT op omkring. Hvis teksten er mere end 511 bytes går det galt :
Error Type: Microsoft JET Database Engine (0x80040E14) Syntax error in INSERT INTO statement. /net3/web/redigeropdat.asp, line 95
Hvis jeg laver en response.write med hele statementet og koiperer det over i Access query-generator går det osse galt. Men hvis jeg i query-generatoren bider strengen over i to med et '&' imellem går det godt.
Aha, tænkte jeg så snyder vi den s'gu da bare med : lgd = len(tekst) antchunk = int(lgd/500) rest = lgd - (antchunk*500) for i = 0 to antchunk - 1 ins = ins & """" & mid(tekst, i*500+1,500) & """" & " & " next ins = ins & """" & right(tekst, rest) & """" & ", 1);"
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
Jeg mener at at du kan gå ind i din access database og gå i Design visning, og ændre datatypen til Memo/Notat, den kan indeholde en del flere tegn end text kan
INSERT INTO redigering ( indl_id, forf_id, red_id, red_dato, indltype_id, kat_id, dato, avis_id, ca, avisdato, avisopt, oskr, komm, tekst, vis ) VALUES (54, 3, 32, '30-01-2004 08:27:47', 1, 1, '08-11-2003 21:13:00', 1, Null, "01-11-2003", 1, Null, Null, "en meget lang tekst på 500 bytes..." & "... og her kommer de sidste 49 tegn", 1);
Ovenstående er hvad der står i query-generatoren i SQL-visning. Hvis jeg går i designvisning får jeg de 15 felter med den automatiske "Udtryk99:" foran i alle felter. Hvis jeg så forsøger at gemme forespørgslen (fra design) får jeg : Syntax error in query expression '"en meget lang tekst ...'.
Hvis jeg gemmer forespørgslen uden at gå i design får jeg følgende når Access har forsøgt at lægge recorden ind: <b>Microsoft Access kan ikke tilføje alle posterne i tilføjelsesforespørgslen.</b> bla, bla 'og 1 fejl i valideringsregler.'
feltet 'tekst' er Notat de øvrige felter er tal, dato og tekst efter relevans.
Jeg har prøvet med INSERT ... space(600)... osv. Det gik fint.
Håber jeg har forklaret mig. Det er lidt svært at være den store forfatter når man kun har det lille vindue at skrive i.
Fejl i valideringsreglerne kan f.eks. være fordi Nulværdier ikke er tilladt for det pågældende felt. Se Tabel/Design. "Udtryk99:" er feltnavne, som kun eksisterer i Forespørgslen. De skal derfor være forskellige! Udtryk1:, Udtryk2: osv.
Du er heller ikke helt konsekvent med ' og ". Brug ' i SQL ved indsættelse af tekststrenge i tekst- eller memofelter ('tekst'). Brug ikke ". Brug # ved indsættelse af datoer. Prøv lige om det hjælper først. Altså:
INSERT INTO redigering ( indl_id, forf_id, red_id, red_dato, indltype_id, kat_id, dato, avis_id, ca, avisdato, avisopt, oskr, komm, tekst, vis ) VALUES (54, 3, 32, #30-01-2004 08:27:47#, 1, 1, #08-11-2003 21:13:00#, 1, Null, #01-11-2003#, 1, Null, Null, 'tekst der fylder mere end 511 bytes', 1);
fynbohans og ulrikp: Jeg kunne ikke dy mig. Og det er osse regnvejr. Jeg lavede de anvisninger I gav og en hel del mere. Nu virker det, men jeg aner ikke hvad fejlen var. Håber jeg har delt korrekt imellem jer?
Tusind tak - under alle omstændigheder - for hjælpen. Vagn Kofoed
Synes godt om
Ny brugerNybegynder
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.