Re: Memo field add/update failure



Hi PJ,

try this
----
Dim connString
Dim conn
Dim cmd

connString = "Driver={Microsoft Access Driver (*.mdb)};DBQ=" &
Server.MapPath("mydb.mdb")
Set conn = Server.CreateObject("ADODB.Connection")
Set cmd = Server.CreateObject("ADODB.Command")

conn.Open connString

cmd.CommandText = "qUpdTable"
cmd.CommandType = adCmdStoredProc
Set cmd.ActiveConnection = conn
cmd.Parameters.Append cmd.CreateParameter("", adLongVarChar, adParamInput,
65535, mymemo)
cmd.Parameters.Append cmd.CreateParameter("", adInteger, adParamInput, ,
myinput)

cmd.Execute
Set cmd=Nothing

----

bye
--
Giorgio Rancati
[Office Access MVP]

<petejha@xxxxxxxxxxxxxxxx> ha scritto nel messaggio
news:1131748722.171889.209150@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
> I am working on a new website using asp with an Access database. I have
> a problem with a Memo field when adding/updating - the SQL fails with
>
> Microsoft OLE DB Provider for ODBC Drivers error '80040e21'
> [Microsoft][ODBC Microsoft Access Driver]Invalid precision value
>
> when I try to add or update more than 255 characters. If I remove the
> extra characters, the add/update works fine.
>
> I tried an experiment where I created a record directly in the table
> with about 700 characters in the Memo field. I shipped this database to
> the website and found I could retrieve and display the data with no
> problem but I could not save that same data without removing the extra
> characters.
>
> I have trawled through lots of user group entries and found lots of
> instances of truncating Memo fields but in every case that I've seen
> the solution has been to remove GROUP BY, DISTINCT, or a similar
> condition on the query. My SQL is straightforward and I am using a
> preset query (stored procedure) in Access like this (there are actually
> lots of fields but I have left most out for ease of reading):
>
> connString = "Driver={Microsoft Access Driver (*.mdb)};DBQ=" &
> Server.MapPath("mydb.mdb")
> Set conn = Server.CreateObject("ADODB.Connection")
> conn.Open connString
> conn.qUpdTable, mymemo, myinput
>
> where 'qUpdTable' is the UPDATE statement, ''mymemo' is the Memo field
> and 'myinput' is the input parameter. The UPDATE statement in Access
> looks like this :
>
> UPDATE Mytable SET MyMemoFld = [mymemo]
> WHERE MytableID=[myinput];
>
> Can anyone shed any light on why this should fail and how I can resolve
> the problem?
>
> Thanks in hopeful anticipation.
>
> PJ.
>


.



Relevant Pages

  • Re: ODBC Connection to SQL Server Compact
    ... Sylvain Lafontaine, ing. ... "The database file has been created by an earlier ... The conn object opened "nicely". ... Dim Conn As ADODB.Connection ...
    (microsoft.public.access.modulesdaovba)
  • Re: updatecommand
    ... Friend Conn As New SqlConnection ... Dim dt As New DataTable ... Private Sub Button1_Click(ByVal sender As System.Object, ... Private Sub executecmd(ByVal cmd As SqlCommand) ...
    (microsoft.public.dotnet.languages.vb)
  • Restrictions accessing MDB (through OLEDB) within .NET applications?
    ... I get the above exception. ... Dim insertCmd As OleDbCommand ... Dim conn As OleDbConnection ...
    (microsoft.public.dotnet.general)
  • Re: excel to sql server (frequently)
    ... "Password=myPassword"Sub UpdateSQLDim conn As ... ADODB.ConnectionDim rst as ADODB.RecordsetDim i as Integerdb = ... So we can buid the connection string correctly. ... Dim connection As String ...
    (microsoft.public.excel.programming)
  • Problems INSERTing into MS Access from VB.NET...
    ... I would not expect this because I am creating new connection ... Dim ds As DataSet ... Dim cmd As OleDbCommand ... Dim conn As New OleDbConnection ...
    (microsoft.public.dotnet.general)

Loading