Toon posts:

[Delphi 6 + Acces] grrrr.....

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb het volgende probleem:

frmConnections.AdoTblInfrmate.Fields[3].Text := ArrayListMemo[Teller].Lines.Text;

als ik bovenstaande code gebruik dan begint delphi te miepen over dat hij geen text in een memo veld kan plaatsen.

fields[3] is hierbij een memo veld in acces
en de waarde die ik erin wil stoppen komt ook uit een memo.
Die waarde die ik erin wil stoppen komt uit delphi memo en kan dus gewoon invoeren met lines.
Maar delphi vind dat fields[3] gewoon een text boxje is. Pas later kijkt hij naar de waarde van het veld en ziet ie dat het een memo is.

ik heb het ook al geprobeert met value maar het wil niet lukken.

Nu is er wel een oplossing door gewoon een andere database op te zetten in sql of een paradox database, maar dat zou dus inhouden dat ik het allemaal weer omet omzetten.
En volgens mij moet het makkelijker kunnen.

  • LordLarry
  • Registratie: Juli 2001
  • Niet online

LordLarry

Aut disce aut discede

Probeer eens frmConnections.AdoTblInfrmate.Fields[3].AsString of frmConnections.AdoTblInfrmate.Fields[3].Value

We adore chaos because we like to restore order - M.C. Escher


Verwijderd

Topicstarter
:( wil ook niet

  • Elissen
  • Registratie: Januari 2000
  • Laatst online: 27-07 15:54
Vreemd, de volgende code werkt bij mij nl. wel goed (met Delphi 6 Update Pack 2):
code:
1
2
3
  ADOTable1.Insert;
  ADOTable1.Fields[1].AsString := 'Dit is een test';
  ADOTable1.Post;

Wat je kan proberen zijn o.a. de volgende dingen:
- AODTable1.FieldByName('test').AsString := .....
- Connection.Execute('UPDATE ... (sorry, zou absoluut zonder moeten kunnen)
- Controleer of er geen validator op dat field hebt zitten die dwars zit.

  • LordLarry
  • Registratie: Juli 2001
  • Niet online

LordLarry

Aut disce aut discede

Wat is de preciese foutmelding?

We adore chaos because we like to restore order - M.C. Escher


Verwijderd

Topicstarter
Project HtmlBuilder.exe raised exception class EDatabaseError with message 'Cannot acces field 'Informatie' as type Text'. Process stopped. Use Step or Run to continue.

Dat is de preciese foutmelding. en nogmaals die veld Informatie, Fields[3] in de code, is een memo veld in acces.

  • LordLarry
  • Registratie: Juli 2001
  • Niet online

LordLarry

Aut disce aut discede

Ik heb geen idee. Ik heb dit probleem nooit gezien, nog kan ik je meer vertellen dan ik al gedaan heb. Sorry

We adore chaos because we like to restore order - M.C. Escher


Verwijderd

Topicstarter
ok iig thnx

misschien toch maar andere database opzetten zodat ik met long text kan gaan werken.... :S

en dat voorbeeld van Elissen werkt ook niet......

ik heb update pack 2 niet, ik ga eens proberen om die te downen en maby dat het dan werkt

Verwijderd

Topicstarter
update pack 2 maakt geen verschil.... geeft nog steeds zelfde foutmelding

  • whoami
  • Registratie: December 2000
  • Laatst online: 23:02
Informatie is een Memo veld, en dat zul je moeten accessen als een BLOB (AsBlob) of als een Memo (AsMemo [is dit mogelijk met de Ado componenten?]).

https://fgheysels.github.io/


  • LordLarry
  • Registratie: Juli 2001
  • Niet online

LordLarry

Aut disce aut discede

AsString moet wel degelijk werken bij een Memo evenals AsVariant, Text en Value. AsBlob of AsMemo bestaan niet. Als je het echt als Blob wilt gebruiken zal je een TADOBlobStream moeten gebruiken. Ik gebruik memo velden gewoon alsof het string velden zijn. Alleen niet met ADO. Toch verwacht ik daar geen/weinig verschil in.

We adore chaos because we like to restore order - M.C. Escher


Verwijderd

Kan je de tabel niet direct aanspreken ?

code:
1
2
3
AdoTblInfrmateInformatie.Value := 'mijn text';
of
AdoTblInfrmateInformatie.Text:= 'mijn text';


Misschien dat je daar wat verder mee komt.

[ Voor 8% gewijzigd door Verwijderd op 02-04-2003 18:04 ]

Pagina: 1