Aktualisierung von Recordsets bei ADO

02/02/2009 - 08:12 von Andreas Ahrens | Report spam
Hi NG,

ich habe beim Aktualisieren von Recordsets folgende Fehlermeldung:

Das aktuelle Recordset unterstützt keine Aktualisierung.
Hierbei handelt es sich möglicherweise
um eine Einschrànkung seitens des Providers oder des gewàhlten LockTypes.

Code:

Private Sub sFbriefErstellen_Click()
' Brief mit ausgewàhltem Formular und ausgewàhltem Text erstellen
' Kombinationsfeld darf KEINEN Steuerelementinhalt haben!!!!

Dim wo As Object

Dim db As ADODB.Connection
Dim rs As ADODB.Recordset

Set db = CurrentProject.Connection
Set rs = New ADODB.Recordset

Set wo = CreateObject("Word.Application")

rs.Open "SELECT Brief.AdressID, Adressen.Anrede, Adressen.VName, " & _
"Adressen.NName, Adressen.Firma, Adressen.Abteilung,
Adressen.zHd, " & _
"Adressen.Straße, Adressen.Plz, Adressen.Ort,
Adressen.Textanrede, " & _
"Brief.BriefID, Brief.Betreff, Brief.Text, Brief.Dokument,
Brief.gedruckt_am, " & _
"Brief.gedruckt, Brief.WiedervorlageID, Brief.FormularID,
Formular.Formularname, " & _
"Formular.DokumentName, Formular.WordOffen,
Formular.Speicherpfad, Formular.Art " & _
"FROM Adressen INNER JOIN (Formular INNER JOIN Brief ON
Formular.FormID = Brief.FormularID)" & _
"ON Adressen.AdressID = Brief.AdressID", db

rs.MoveFirst

'Formular suchen
rs.Filter = "FormularID = '" & Me.Formularname & "'"

With wo

'Dokument oder Vorlage
If rs.Fields("Art") = "Dokument" Then
.Documents.Open FileName:=CStr(rs.Fields("DokumentName"))
Else
.Documents.Add Template:=CStr(rs.Fields("DokumentName"))
End If

.Selection.TypeText CStr(rs.Fields("Betreff"))
.Selection.TypeText CStr(rs.Fields("Text"))

'Speichern
.ActiveDocument.SaveAs FileName:=CStr(UCase(rs.Fields("Betreff"))) &
" " & Date & ".DOC"

'soll Word geöffnet werden?
If rs.Fields("WordOffen") = True Then
'schließen mit speichern
.Visible = True
Else
.ActiveDocument.Close savechanges:=wdSaveChanges
.Quit
End If
'Dokumentname in BriefTabelle

rs.Fields("DokumentName") = UCase(rs.Fields("Betreff")) & Date & ".DOC"
rs.Fields("gedruckt_am") = Date
rs.Fields("gedruckt") = True

End With

rs.Close
db.Close
DoCmd.Close

End Sub

Wo liegt mein Fehler?

Gruss
Andy
 

Lesen sie die antworten

#1 Josef Poetzl
02/02/2009 - 09:26 | Warnen spam
Hallo!

Andreas Ahrens schrieb:
Das aktuelle Recordset unterstützt keine Aktualisierung.
Hierbei handelt es sich möglicherweise
um eine Einschrànkung seitens des Providers oder des gewàhlten LockTypes.

Code:


[...]
rs.Open "SELECT Brief.AdressID, Adressen.Anrede, Adressen.VName, " & _
"Adressen.NName, Adressen.Firma, Adressen.Abteilung,
Adressen.zHd, " & _
"Adressen.Straße, Adressen.Plz, Adressen.Ort,
Adressen.Textanrede, " & _
"Brief.BriefID, Brief.Betreff, Brief.Text, Brief.Dokument,
Brief.gedruckt_am, " & _
"Brief.gedruckt, Brief.WiedervorlageID, Brief.FormularID,
Formular.Formularname, " & _
"Formular.DokumentName, Formular.WordOffen,
Formular.Speicherpfad, Formular.Art " & _
"FROM Adressen INNER JOIN (Formular INNER JOIN Brief ON
Formular.FormID = Brief.FormularID)" & _
"ON Adressen.AdressID = Brief.AdressID", db




Ist die diese SQL-Anweisung aktualisierbar, wenn du sie als
Access-Abfrage startest?
Möglicherweise fehlt ein Primàrschlüssel in einer Tabelle.

mfg
Josef

EPT: (Access Error Prevention Table) http://access.joposol.com/
FAQ: (Access-FAQ von Karl Donaubauer) http://www.donkarl.com/

Ähnliche fragen