| Access - Ερωτήσεις / Απαντήσεις Access + VBA... Εδώ δεν υπάρχουν όρια! |
![]() |
| | Εργαλεία Θεμάτων | Τρόποι εμφάνισης |
|
#1
| |||
| |||
|
Καλημερα.Τασος οπως εχεις αναφερει εδω https://www.ms-office.gr/forum/acces...is-access.html τα εχω κανει οπως ειπες ,απλα μου βγαζει σφαλμα.Οι πινακες μου ειναι σε sql server. Runtime error "3027".Δεν ειναι δυνατη η ενημερωση .Η βαση δεδομενων η το αντικειμενο ειναι μονο για αναγνωση Function LogAction(obj As Object, Optional LastID&) With CurrentDb.OpenRecordset("tblLog", 2, dbSeeChanges) If LastID Then LastID = IIf(obj.Tag <> vbNullString, obj.Tag, -1) obj.Tag = vbNullString .MoveFirst .FindFirst "LogID = " & LastID If Not .NoMatch Then .Edit .Fields("CloseDateTime") = Now End If Else .AddNew <-- εδω μου βγαζει το error LastID = .Fields("LogID") obj.Tag = LastID .Fields("OpenDateTime") = Now .Fields("DocName") = obj.name .Fields("ComputerName") = Environ("COMPUTERNAME") .Fields("WinUser") = Environ("USERNAME") .Fields("AppUser") = App_User End If .Update .Close End With End Function |
|
#2
| |||
| |||
|
Κοιτα αν εχεις στον πινακα tbllog καταρχην πρωτευων κλειδι |
|
#3
| ||||
| ||||
|
Καλησπέρα σε όλους! Γιάννη, νομίζω ότι υπάρχει κάποιο πρόβλημα στον πίνακα σου (tblLog). Μάλλον όπως λέει και ο Χρήστος έχει να κάνει με το πρωτεύον κλειδί. Μπορείς να μας δώσεις τον κώδικα SQL (κώδικα δημιουργίας με SQL Script) του πίνακα για να δούμε τι μπορεί να συμβαίνει; Τάσος
__________________ Ms-Office Development Team Ανάπτυξη επαγγελματικών εφαρμογών |
|
#4
| |||
| |||
|
Καλησπερα παιδια.Αθριο που θα ειμαι στο pc θα το κοιταξω.Το script να το δημιουργησω ηγθατι τιυς πίνακες τους μετεφερα απο την access στον sql .Δεν τους εφτιαξα απευθειας στιν sql.Επισης προτου μεταφερω τον πινακα στον server δούλευε κανονικα τοπικα
|
|
#5
| |||
| |||
|
Άρα είναι σίγουρα πρόβλημα απο το πρωτεύον κλειδί.
|
|
#6
| |||
| |||
|
Καλημερα.Πρωτευον κλειδι εχει ο πινακας tblLog.Τωρα βγαζει το σφαλμα "invalid use off null" 94 στο σημειο Function LogAction(obj As Object, Optional LastID&) With CurrentDb.OpenRecordset("tblLog", 2, dbSeeChanges) If LastID Then LastID = IIf(obj.Tag <> vbNullString, obj.Tag, -1) obj.Tag = vbNullString .MoveFirst .FindFirst "LogID = " & LastID If Not .NoMatch Then .Edit .Fields("CloseDateTime") = Now End If Else .AddNew LastID = .Fields("LogID") obj.Tag = LastID .Fields("OpenDateTime") = Now .Fields("DocName") = obj.name .Fields("ComputerName") = Environ("COMPUTERNAME") .Fields("WinUser") = Environ("USERNAME") .Fields("AppUser") = App_User End If .Update .Close End With End Function ------------------ Φενεται να δουλευει τωρα με κατι αλλαγες που εκανα.Απλα επειδη της φορμες τις εχω με ελληνικους χαρακτηρες στο πινακα log μου βγαζει το ονομα τους ετσι "???s?p???_St???e?a".Αυτο μπορει να γινει ετσι ωστε να φενεται κανονικα? Function LogAction(obj As Object, Optional LastID&) With CurrentDb.OpenRecordset("SELECT * From tblLog", dbOpenDynaset, dbSeeChanges) If LastID Then LastID = IIf(obj.Tag <> vbNullString, obj.Tag, -1) obj.Tag = vbNullString .MoveFirst .FindFirst "LogID = " & LastID If Not .NoMatch Then .Edit .Fields("CloseDateTime") = Now End If Else .AddNew If Not IsNull(.Fields(0)) Then LastID = .Fields("LogID") End If obj.Tag = LastID .Fields("OpenDateTime") = Now .Fields("DocName") = obj.name .Fields("ComputerName") = Environ("COMPUTERNAME") .Fields("WinUser") = Environ("USERNAME") .Fields("AppUser") = Application.CurrentUser .Update End If .Close End With End Function Τελευταία επεξεργασία από το χρήστη gianniskar : 31-07-20 στις 12:55. Αιτία: Λύση |
|
#7
| ||||
| ||||
|
Αγαπητέ Γιάννη Σιγουρέψου ότι μπορείς να ανοίξεις και να δημιουργήσεις νέα εγγραφή στον συνδεμένο πίνακα "tböLogs". Αν δεν μπορείς να προσθέσεις εγγραφή τότε θα πρέπει να τροποποιήσεις τον πίνακα σου στον Server σύμφωνα με το παρακάτω ερώτημα SQL : Κώδικας: USE [ms-office.gr] /*Προσάρμοσε το όνομα της βάσης*/ GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [user].[tblLog]( [logID] [int] IDENTITY(1,1) NOT NULL, [CloseDateTime] [datetime2](0) NULL, [OpenDateTime] [datetime2](0) NULL, [DocName] [nvarchar](50) NULL, [ComputerName] [nvarchar](50) NULL, [WinUser] [nvarchar](50) NULL, [AppUser] [nvarchar](50) NULL, CONSTRAINT [tblLog$PrimaryKey] PRIMARY KEY CLUSTERED ( [logID] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO Κώδικας: Function LogAction(obj As Object, Optional LastID As Long)
With CurrentDb.OpenRecordset("tblLog", dbOpenDynaset, dbSeeChanges)
If LastID Then
LastID = IIf(obj.Tag <> vbNullString, obj.Tag, -1)
obj.Tag = vbNullString
.MoveFirst
.FindFirst "LogID = " & LastID
If Not .NoMatch Then
.Edit
.Fields("CloseDateTime") = Format(Now, "yyyy-MM-dd hh:mm:ss")
End If
Else
.AddNew
LastID = Nz(.Fields("LogID"), 0)
obj.Tag = LastID
.Fields("OpenDateTime") = Format(Now, "yyyy-MM-dd hh:mm:ss")
.Fields("DocName") = obj.Name
.Fields("ComputerName") = Environ("COMPUTERNAME")
.Fields("WinUser") = Environ("USERNAME")
.Fields("AppUser") = App_User
End If
.Update
.Close
End With
End Function
Τάσος
__________________ Ms-Office Development Team Ανάπτυξη επαγγελματικών εφαρμογών Τελευταία επεξεργασία από το χρήστη Tasos : 31-07-20 στις 17:05. |
|
#8
| |||
| |||
|
οκ Τασο θα το κοιταξω απο δευτερα.Σε ευχαριστω πολυ για τον χρονο σου.Καλη συνεχεια
|
|
#9
| |||
| |||
|
Καλημερα.Εκανα οσα μου εγραψες.Αφου βαλω τον user κανω login στην access μου βγαζει τωρα "error 3020,Update η CancelUpdate χωρις Editnew η Edit. Aλλαξα την γραμμη .Fields("WinUser") = Environ("USERNAME") .Fields("AppUser") = "Tasos" End If .Update .Close End With βαζωντας τα μεσα στην if και δεν μου βγαζει error.Απλα στο tblog δεν καταχωρουνται τιμες στο πεδιο "CloseDateTime" .Fields("WinUser") = Environ("USERNAME") .Fields("AppUser") = "Tasos" .Update .Close End If End With |
|
#10
| |||
| |||
|
Καλημερα.Τασο μηπως γνωριζεις για ποιο λογο δεν παιρνει τιμες το πεδιο "CloseDateTime"?
|
![]() |
« Προηγούμενο Θέμα
|
Επόμενο Θέμα »
| |
| ||||
| Θέμα | Δημιουργός | Forum | Απαντήσεις | Τελευταίο Μήνυμα |
| Απλή παρακολούθηση Εφαρμογής Access | Tasos | Access - Tips & Tricks | 1 | 14-04-21 19:53 |
| [ Ασφάλεια] Update εφαρμογής ACCESS μέσω Internet | vraxnakisg | Access - Ερωτήσεις / Απαντήσεις | 7 | 18-06-15 02:29 |
| Αναβάθμιση εφαρμογής σε Access | parara | Access - Ερωτήσεις / Απαντήσεις | 5 | 24-01-13 22:05 |
| Απενεργοποίηση μακροεντολής με την εκκίνηση μιας εφαρμογής σε Access 2003, 2007 | alex | Access - Ερωτήσεις / Απαντήσεις | 4 | 22-11-11 21:51 |
| [Συναρτήσεις] Απλή συνάρτηση if | PanosPan | Excel - Ερωτήσεις / Απαντήσεις | 13 | 25-05-10 09:29 |
Η ώρα είναι 08:13.


Αλλαγή σε γραμμικό τρόπο

