Forum

Forum (https://www.ms-office.gr/forum/)
-   Access - Ερωτήσεις / Απαντήσεις (https://www.ms-office.gr/forum/access-erotiseis-apantiseis/)
-   -   Πως μπορουμε να προσθεσουμε νεα πεδια σε πινακα (https://www.ms-office.gr/forum/access-erotiseis-apantiseis/6176-pos-mporoyme-na-prosthesoyme-nea-pedia-se-pinaka.html)

pakos 25-09-22 09:10

Πως μπορουμε να προσθεσουμε νεα πεδια σε πινακα
 
Καλησπερα στο forum

Θα ηθελα (κωδικα προφανως) να προσθετει τα πεδια που δεν υπαρχουν στον πινακα π.χ. (tblEna) απο εναν αλλο πινακα π.χ. (tblEna_1).
και οι 2 πινακες εχουν ακριβως τα ιδια πεδια και οχι στην ιδια σειρα.
Απλα στον πινκα (tblEna_1) προσθετουμε πεδια
και για να μην κανουμε copy paste απο τον εναν πινακα στον αλλον εαν γινεται με vba για να μην ξεχασουμε καποιο πεδιο
τα οναματα των πεδιων δεν ειναι γνωστα απλα δημιουργουνται στην στιγμη και η ενημερωση του πρωτου πινακα γινετε σε 2 χρονο

tsgiannis 26-09-22 10:30

Ρίξε μια ματιά εδω πέρα :
https://stackoverflow.com/questions/...able-using-vba

pakos 29-09-22 10:06

Γιαννη ευχαριστω για την προταση σου, πιστευω ειναι καλυτερη αλλα για εμας τους ερασιτεχνες που παιδευομαστε ωρες ατελειωτες, μπροστα στην access και δεν εχουμε σπουδασει καθολου την επιστημη των υπολογιστων μου ειναι δσκολο να κατανοησω τον κωδικα που μου προτεινες.

Επειδη απο οτι εχω εμπεδωση απο την ασχολια μου με την access υπαρχουν παρα πολλοι τροποι να βγαλεις το επιθυμητο αποτελεσμα.

Ετσι και εγω προτεινω μια λυση που θα μπορει να την κατανοησει και λιγοτερος εμπειρος χρηστης.



--------------------------------------------------------------------------------------------------------------------------------------------------------
με τον παρακατω κωδικα ελεγχει αν υπαρχει ο βοηθιτικος πινακας που θα μας χρησιμευσει

Public Function TableExists(sTable As String) As Boolean

Dim db As Database
Dim tbl As TableDef
Set db = CurrentDb()

TableExists = False

For Each tbl In db.TableDefs
If tbl.Name = sTable Then TableExists = True
Next tbl

End Function



--------------------------------------------------------------------------


Function AnaneosiPedionPinaka() As String
If TableExists("tblHELP") = True Then '<......... Αν υπαρχει ο βοηθιτικος πινακας διαγραφετε
DoCmd.DeleteObject acTable, "tblHELP"
Else
End If
DoCmd.RunSQL "DELETE tblEna_1.ΠΡΩΤΟΚΟΛΟ " & _ '<......... βαζετε οποιο πεδιο θελετε
" FROM tblEna_1 "
DoCmd.CopyObject , "tblHELP", acTable, "tblEna_1" '<......... δημιουργια βοηθιτικου πινακα μονο με τη δομη του πινακα δηλαδη με τα πεδια
DoCmd.OpenQuery "HELPprosartisi" '<......... κανετε ενα ερωτημα προσαρτησης "HELPprosartisi" με ολες τις εγγραφες του πινακα στον βοηθιτικο πινακα
DoCmd.DeleteObject acTable, "tblEna" '<......... διαγραφη του πινακα
DoCmd.CopyObject , "tblEna", acTable, "tblHELP" '<......... δημιουργια του πινακα με ολες τις εγγραφες και τα νεα πεδια (απλα μετανομαζει τον βηθ. πινακα)
DoCmd.DeleteObject acTable, "tblHELP"


End Function

tsgiannis 30-09-22 10:10

Υπάρχουν πολλοί τρόποι πάντα να κάνεις μια δουλειά.


Η ώρα είναι 13:12.

Ms-Office.gr - ©2000 - 2026, Jelsoft Enterprises Ltd.


Search Engine Optimization by vBSEO 3.3.2