Amin Geschrieben 21. März 2003 Teilen Geschrieben 21. März 2003 ich möchte für 4 Leute ein Vb Programmm schreiben, Erfassung und ausgeben von daten(Access),was wäre am schlausten, alle 4 befinden sich in einem Netzwerk, der Rechner, in dem ich das Programm entwickele ist auch im Netz und kann auch als Lagerort der Datenbank sein,jeder soll von m ir eine Setup programm davon bekommen, also was soll ich machen wie soll die verbindungsart sein damit alle auf die Datenbank(Rechner 1)zugreifen und bearbeiten, meine Verbindungsart ist wie folgt: DBPfad = App.Path & "\Gesamt.mdb" PW = "" Connect = "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Password=" & PW & ";Persist Security Info=False;Data Source=" & DBPfad & ";Mode=Read|Write" Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
BlearSun Geschrieben 25. März 2003 Teilen Geschrieben 25. März 2003 Originally posted by Amin ich möchte für 4 Leute ein Vb Programmm schreiben, Erfassung und ausgeben von daten(Access),was wäre am schlausten, alle 4 befinden sich in einem Netzwerk, der Rechner, in dem ich das Programm entwickele ist auch im Netz und kann auch als Lagerort der Datenbank sein,jeder soll von m ir eine Setup programm davon bekommen, also was soll ich machen wie soll die verbindungsart sein damit alle auf die Datenbank(Rechner 1)zugreifen und bearbeiten, meine Verbindungsart ist wie folgt: DBPfad = App.Path & "\Gesamt.mdb" PW = "" Connect = "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Password=" & PW & ";Persist Security Info=False;Data Source=" & DBPfad & ";Mode=Read|Write" Vorsicht. Access datenbank ist eine Desktopdatenbank. Ist also für Multibenutzer-Systeme nicht optimiert. Die gleichzeitige Benutzung von ca. 12 Nutzer haben bei mir Erfahrungsgemäß jedoch keine Probleme gemacht. Wichtig ist nur eine relgelmäßige Datensicherung. am besten täglich. So kann nichts mehr schief gehen. Nutze ADO und versuch möglichst kurzzeitige Datenbankverbindung zu haben, in dem du die Daten holst und die verbindung zur Datenbank trennst. Also mit Datenbank nur dann connecten, wenn du auch was von der Datenbank willst. Das macht nicht nur deine Applikation schneller, sondern entlastet die access-file sehr. Also eine permanente Verbindung zur Datenbank auf jedenfall vermeiden, was wiederum bei einem Ein-User-System sinnvoller wäre... (kommt aber auch auf anwendungsfall an..) Hast du z. b. Importvorgänge wo du dann tausende von Daten importieren willst. bzw. einlesen willst, dann ist es sinnvoller nicht verbindungslos zu arbeiten. (Kommt aber wie gesagt auf Anwendugnsfall an...) gruss blear Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Amin Geschrieben 26. März 2003 Autor Teilen Geschrieben 26. März 2003 Nutze ADO und versuch möglichst kurzzeitige Datenbankverbindung zu haben, in dem du die Daten holst und die verbindung zur Datenbank trennst. der Sinn dieses Satzes habe ich verstanden aber wie das geht weisse ich nicht es ist mein erste Programm das ich entwickele, ich wäre dir dankbar wenn du mir vielleicht zeigst wie die Zeile aussehen um die Verbindung kurzzeitig zu zu ermöglichen Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
KleinerChaot Geschrieben 26. März 2003 Teilen Geschrieben 26. März 2003 Hi Leute, sgat mal warum programmiert ihr denn alle in VBA ist das so im Kommen?? *an dn Kopf fass, das nicht begreifen kann* Gruß an euch da drausen Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Gast Geschrieben 26. März 2003 Teilen Geschrieben 26. März 2003 /OT Originally posted by KleinerChaot Hi Leute, sgat mal warum programmiert ihr denn alle in VBA ist das so im Kommen?? ... Das einzige Vorkommen der Sequenz "VBA" auf dieser Seite ist in Deinem Beitrag. /OT Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
BlearSun Geschrieben 26. März 2003 Teilen Geschrieben 26. März 2003 Originally posted by Amin Nutze ADO und versuch möglichst kurzzeitige Datenbankverbindung zu haben, in dem du die Daten holst und die verbindung zur Datenbank trennst. der Sinn dieses Satzes habe ich verstanden aber wie das geht weisse ich nicht es ist mein erste Programm das ich entwickele, ich wäre dir dankbar wenn du mir vielleicht zeigst wie die Zeile aussehen um die Verbindung kurzzeitig zu zu ermöglichen Kapselung würde dir hier ungemein helfen. Schreib eine Funktion womit du die Verbindung aufbaust.. connect() Schreib eine Funktion womit du die Verbindung trennst. disconnect() schreib eine Funktion womit du ein Rrecordset erzeugen kannst. CreateRecordset(Sql as string) as Adodb.REcordset Dein Recordset_object hat ein Property Namens AcitveConnection. Set rs.ActiveConnection = nothing und shcon ist dein Rs verbindungslos. Voraussetzung dafür ist, wie du dein RS öffnest.. BatchOptimistisch solltest du dein Recordset öffnen. Sonst geht das nicht. Friend Function fCreateRS(sql As String, Optional myCursorLocation As ADODB.CursorLocationEnum = adUseClient, _ Optional myLockType As ADODB.LockTypeEnum = adLockOptimistic, _ Optional myCursorType As ADODB.CursorTypeEnum = adOpenKeyset) As ADODB.Recordset On Local Error GoTo ErrHandler Dim myrs As New ADODB.Recordset fConnect myrs.CursorLocation = myCursorLocation myrs.Open sql, poConn, myCursorType, myLockType If Err Then Set myrs = Nothing Set fCreateRS = myrs Exit Function ErrHandler: Resume Next End Function Friend Function fExec(sql As String) As Integer On Local Error GoTo ErrHandler Dim myInt As String fConnect poConn.Execute sql, myInt If Err Then myInt = -1 fExec = myInt Exit Function ErrHandler: Resume Next End Function Friend Function fConnect() As Boolean On Local Error GoTo ErrHandler Dim ok As Boolean ok = True If poConn Is Nothing Then Set poConn = New ADODB.Connection If poConn.State <> 1 Then poConn.Open pConnString If Err Or poConn.State = 0 Then RaiseEvent FaildToConnect pShowDialog 'fConnect End If End If ok = Err = 0 fConnect = ok Exit Function ErrHandler: Resume Next End Function [/PHP] Achte bitte darauf, dass es sich in diesem Beispiel nur um eine Kapselung handelt. Die Trennung der zwei Objekte Connection und Recordset musst du dann schon selbst machen.. Desweiteren fehlt hier die Disconnect-Methode.. du musst dann einfach die Close Methode des Con-Objektes aufrufen.. gruss blear Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
BlearSun Geschrieben 26. März 2003 Teilen Geschrieben 26. März 2003 Originally posted by KleinerChaot Hi Leute, sgat mal warum programmiert ihr denn alle in VBA ist das so im Kommen?? *an dn Kopf fass, das nicht begreifen kann* Gruß an euch da drausen VBA? Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Gast Geschrieben 26. März 2003 Teilen Geschrieben 26. März 2003 @ Blear Kann ja morgen mal mein Connectmodul posten, nur mal so als Gegenüberstellung. Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
BlearSun Geschrieben 27. März 2003 Teilen Geschrieben 27. März 2003 Originally posted by LoneGunman @ Blear Kann ja morgen mal mein Connectmodul posten, nur mal so als Gegenüberstellung. jö. find ich gut. bis dann blear Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Gast Geschrieben 27. März 2003 Teilen Geschrieben 27. März 2003 Heute gehts leider schlecht, weil ich krank bin, morgen. Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Gast Geschrieben 28. März 2003 Teilen Geschrieben 28. März 2003 Option Explicit Private conn1 As Connection Public rs1 As Recordset Public rs2 As Recordset Public sql1 As New Command Private fehler As Long Public Function connect_db(ByVal datenbank As String, ByVal user As String, password As String) As Boolean On Error Resume Next 'Anmeldung an der Datenbank, bei Fehler meldet die Funktion "False", sonst "True" 'Wird einmal beim Start des Hauptprogramms aufgerufen Set conn1 = New Connection conn1.CursorLocation = adUseClient conn1.Open "Data Source=" & datenbank & "; User ID=" & user & "; PWD=" & password 'Setzen der SQL-Parameter, wird nur einmal gemacht sql1.ActiveConnection = conn1 sql1.CommandType = adCmdText fehler = Err.Number On Error GoTo 0 If fehler = 0 Then connect_db = True Else connect_db = False End Function Public Sub disconnect_db() On Error Resume Next 'Verbindung schließen conn1.Close On Error GoTo 0 End Sub Public Sub kill_db_objects() 'Objekte auf Nothing setzen, wird beim Beenden des Hauptprogramms aufgerufen Set conn1 = Nothing Set rs1 = Nothing Set rs2 = Nothing Set sql1 = Nothing End Sub Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge