WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Programmierung

Programmierung Rat & Tat für Programmierer

Microsoft KARRIERECAMPUS

Antwort
 
Themen-Optionen Ansicht
Alt 24.11.2005, 22:44   #1
Potassium
Inventar
 
Registriert seit: 06.03.2003
Alter: 37
Beiträge: 3.954

Mein Computer

Frage [VB] FieldCount be AccessRecordSet fehlt ?

Code:
Public Function Clean_Table()
Dim i As Integer, j As Variant
Dim Str(maxDataRows) As String, iFields As Integer

Set Rs = DB.OpenRecordset("SELECT * FROM " & sTable & " ORDER BY CH_ID")

i = 1
Do While Not Rs.EOF
    Str(i) = "INSERT INTO `" & sTable & "` VALUES (" & i & " , '"
    For iFields = 1 To Rs.Fieldcount - 1
        Str(i) = Str(i) & Replace(Replace(Rs.Fields(iFields).Value, "\", "\\"), "'", "\'") & "'"
        If iFields < Rs.Fieldcount - 1 Then
            Str(i) = Str(i) & ", '"
         End If
    Next iFields
    Str(i) = Str(i) & ")"
    i = i + 1
    Rs.MoveNext
Loop
Set Rs = DB.OpenRecordset("TRUNCATE TABLE " & sTable)
For Each j In Str
    Set Rs = DB.OpenRecordset(j)
    Call MySQL_Error
Next j
Call Update_Table

MsgBox "Datenbank gesäubert!", vbInformation, "OK"

End Function
das ist der sourcode.
wenn das recordset ein mysql-recordset is funktioniert es.
als normales "recordset" für access-dbs gibts dieses attribut aber ned.
jemand ne lösung dafür?
Potassium ist offline   Mit Zitat antworten
Alt 25.11.2005, 09:08   #2
wbendl
Master
 
Registriert seit: 22.03.2000
Alter: 66
Beiträge: 550


Standard

Hi!

Du hast nicht verraten wie du auf die DB zugreifst.

Und was ist ein mysql-recordset oder ein normales "recordset"?
Wo liegt der Unterschied?

Bei ADO heißt es auf jeden Fall: Recordset.Fields.Count


mfg

WB
wbendl ist offline   Mit Zitat antworten
Alt 25.11.2005, 14:26   #3
Potassium
Inventar
 
Registriert seit: 06.03.2003
Alter: 37
Beiträge: 3.954

Mein Computer

Standard

yeah
erstes prob gelöst.
2. prob: gibt es ein synonym für TRUNCATE TABLE auf Access ?
Potassium ist offline   Mit Zitat antworten
Alt 25.11.2005, 14:42   #4
wbendl
Master
 
Registriert seit: 22.03.2000
Alter: 66
Beiträge: 550


Standard

Hi!

Nimm DELETE! Access unterstützt sowieso keine Transaktionen.


mfg

WB
wbendl ist offline   Mit Zitat antworten
Alt 25.11.2005, 14:48   #5
Potassium
Inventar
 
Registriert seit: 06.03.2003
Alter: 37
Beiträge: 3.954

Mein Computer

Standard

Zitat:
Original geschrieben von wbendl
Hi!

Nimm DELETE! Access unterstützt sowieso keine Transaktionen.


mfg

WB
delete setzt mir aber den index ned zurück =/
Potassium ist offline   Mit Zitat antworten
Alt 25.11.2005, 15:10   #6
wbendl
Master
 
Registriert seit: 22.03.2000
Alter: 66
Beiträge: 550


Standard

Hi!

Danach hast du ja nicht gefragt!

Jetzt hast du ein echtes Problem.

Bei älteren Versionen der Jet-DB genügt es, die DB zu komprimieren.
Das habe ich schon immer als Risiko angesehen.

Ein Typ wie du hat aber sicher immer die aktuellste Version. Da hilft nur die Tabelle löschen, und neu erstellen.

Insgesamt habe ich den Eindruck, daß irgendwo in deiner Programmlogik oder Umsetzung etwa zu Optimieren wäre. Solche Aktionen sollten eigentlich gar nicht notwendig werden.


mfg

WB
wbendl ist offline   Mit Zitat antworten
Alt 25.11.2005, 15:47   #7
Potassium
Inventar
 
Registriert seit: 06.03.2003
Alter: 37
Beiträge: 3.954

Mein Computer

Standard

"Das Datenbakmodul konnte die Tabelle 'Chemikalien' nicht sperrren, da sie bereits von einem anderen Benutzer oder Vorgang bearbeitet wird."

hrmpf.
any suggestions?
Potassium ist offline   Mit Zitat antworten
Alt 25.11.2005, 16:14   #8
wbendl
Master
 
Registriert seit: 22.03.2000
Alter: 66
Beiträge: 550


Standard

Hi!

Ich würde sagen "unsauberer Ausstieg".

Da hilft nur ein Neustart.

In Zukunft alles sauber abschließen.


mfg

WB
wbendl ist offline   Mit Zitat antworten
Alt 26.11.2005, 10:49   #9
Potassium
Inventar
 
Registriert seit: 06.03.2003
Alter: 37
Beiträge: 3.954

Mein Computer

Standard

ähem neustart ist aber nicht dein ernst oder?
das programm ist fertig geschrieben und funktioniert im prinzip wunderbar.
nur muss ich es von mysql auf ms access portieren udn da gibt es kleinere oder größere fehler...
Potassium ist offline   Mit Zitat antworten
Alt 27.11.2005, 07:56   #10
wbendl
Master
 
Registriert seit: 22.03.2000
Alter: 66
Beiträge: 550


Standard

Hi!

Doch das ist mein Ernst.

Entweder sind die Fehler in deinem Programm doch nicht so klein, oder du hast einen Bug in der Jet-Engine entdeckt.

Tatsache ist: Für einigen Aktionen muß die gesamte DB/Tabelle gesperrt werden. Wenn diese Sperre nicht ordnungsgemäß aufgehoben wird, kann niemand mehr zugreifen. Diese Blockade läßt sich nur mit einem Neustart beheben.


mfg

WB
wbendl ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 00:07 Uhr.


Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Forum SEO by Zoints
© 2009 FSL Verlag