Access 2000 vraagje

Pagina: 1
Acties:

  • MrPolka
  • Registratie: Februari 2003
  • Laatst online: 09-07-2021
Hoi,

Ik had even een vraagje. Ik heb nu een procedure die uit de database de waarde haalt van een memo-veld. Deze waarde wordt (zover ik kan zien) goed binnengehaald, maar zo snel ik de waarde dan in een String zet lijkt het of ik nog maar 255 karakters overhoudt. En dat is niet de bedoeling.

Weet iemand hoe ik dit kan oplossen?

Alvast bedankt!

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Strings kunnen maar maximaal 255 characters bevatten....

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • MrPolka
  • Registratie: Februari 2003
  • Laatst online: 09-07-2021
Bestaat er dan niets in Access wat meer characters aankan?

  • Crazy D
  • Registratie: Augustus 2000
  • Laatst online: 17-09 08:12

Crazy D

I think we should take a look.

Een Text veld in de database kan 255 tekens bevatten, een Memo veld onbeperkt (nou ja, relatief dan).
Een variabele van het type String kan uit m'n hoofd gezegt 65K aan data bevatten (iig knu je in een string var String(10000, "A") doen zonder errors, en de lengte (aantal tekens) in de string-var is dan ook 10000....), oftewel, je probleem zit 'm ergens anders in.

Exact expert nodig?


  • MrPolka
  • Registratie: Februari 2003
  • Laatst online: 09-07-2021
Ik hoop dat dat het geval is, maar weet dan alleen niet waar.

Ik heb met een watch gekeken maar de string bevat niet meer dan 255 characters.

Ik heb er een stukje code bijgedaan. Ik hoop dat jullie eruit komen. Ik heb het gecontroleerd door een watch neer te zetten op het moment dat die waarden uit de database haalt en op het moment dat die plaatst in een String (Test = Nz(![Test])
)


Dim dbs As Dao.Database, rst As Dao.Recordset

Dim Test As String

Set dbs = CurrentDb

Set rst = dbs.OpenRecordset("Select [Test] FROM [Test] WHERE [Testnummer] ='" & Testnummeropzoekwaarde & "'", dbOpenSnapshot)
If rst.RecordCount <> 0 Then
Do
With rst
Test = Nz(![Test])

  • hbongers
  • Registratie: Januari 2002
  • Laatst online: 17-09 21:37
sorry dubbel

[ Voor 99% gewijzigd door hbongers op 23-04-2003 18:48 ]


  • hbongers
  • Registratie: Januari 2002
  • Laatst online: 17-09 21:37
Heb je code aangepast (zodat ie compileerde...) en bij mij werkt het wel:

Option Compare Database
Option Explicit

Sub probeer()
Dim dbs As DAO.Database, rst As DAO.Recordset
Dim Test As String
Set dbs = CurrentDb
Set rst = dbs.OpenRecordset("Select Test FROM Test ")

If rst.RecordCount <> 0 Then
With rst
Test = Nz(![Test])
End With
End If
End Sub

Heb het getest in Access 2000 door de sub te starten vanuit het "Immediate Window" met een breakpoint op de "End With" regel.
In het veld Test in record 1 van de tabel Test heb ik de source van de T.net frontpage gezet.
Als ik op het moment dat VBA break'ed in het Immediate Window de waarde van de var Test op vraag (met "?Test" dus) krijg ik de volledige source te zien... (behalve dat ie aan de bovenkant wat weglaat omdat het Immediate Window vol is)
dus, succes

  • MrPolka
  • Registratie: Februari 2003
  • Laatst online: 09-07-2021
Bedankt. Ik zal het morgen proberen en dan hoor je het wel......
Pagina: 1