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/2401-sigkrisi-pinakon.html)

sakis 06-03-13 22:47

Σύγκριση πινάκων
 
1 Συνημμένο(α)
Καλησπέρα σε όλους .
Έχω έναν πίνακα που είναι ο "εξαρτήματα" και είναι ο πίνακας που δουλευει στο προγραμμά μου.
Μου στείλανε τον πίνακα "τιμοκατάλογος1" που έχει αλλαγές σε τιμές και νεα προιόντα.
Αυτό που θέλω να κάνω είναι ενημέρωση του πίνακα "εξαρτήματα" απο τον "τιμοκατάλογος1",χωρίς να πειράξω το πεδίο "ΚωδΕξαρτηματος" γιατί απο εδω εξαρτουνται πολλες λειτουργείες του προγράμματος μου.Στελνω ενα αρχείο για να γινω κατανοητός.

Meteora 09-03-13 06:07

1 Συνημμένο(α)
Καλημέρα
Οι κωδικοί που έχεις και στον ένα πίνακα και στον άλλο δεν είναι μοναδικοί για κάθε υλικό και αυτό σημαίνει οτι θα υπάρξει πρόβλημα στην ενημέρωση.
Συνεχίζουμε...
  • Φτιάξε ένα ερώτημα που να συνδέει τους δυο πίνακες μέσα από τους κωδικούς. Δες το QryEna.
  • Φτιάξε το ερώτημα ενημέρωσηςQryDio. Δες την σχεδίασή του QryDio.
  • Στην συνέχεια κάνε διπλό κλικ στο ερώτημα ενημέρωσης (QryDio) και ...
  • Δες τις αλλαγές στο Qryena
ΠΡΟΣΟΧΗ: Δεν "παίζουμε" με τις ενημερώσεις! Κρατάμε αντίγραφα. Κάνουμε δοκιμές, και όταν όλα "τρέχουν" σωστά, δείχνουμε την εμπιστοσύνη μας...

Με εκτίμηση
Νίκος Δ.

sakis 10-03-13 19:21

Νίκο ευχαριστώ πολύ.
Το παραδειγμά σου πέτυχε στην ενημέρωση των τιμών.
Αυτό που δεν μπόρεσα να κάνω είναι να εισάγω τα νέα προιόντα από τον ένα πίνακα στον άλλο.
Δοκίμασα να βάλω όλες τις εγγραφές απο τον ενα πίνακα στον άλλο και μετά με το dublikates remover από τα χρήσιμα αρχεία να διαγράψω τα διπλά. Δεν πετυχε όμως γιατι διαγράφει καποιες εγγραφές που υπήρχαν και οχι τις νέες με αποτελεσμα να υπαρχει το προιόν στον πίνακα αλλά με νέο "ΚωδΕξαρτηματος".

alex 10-03-13 23:09

Σάκη Καλησπέρα

Δοκίμασε με ερώτημα προσάρτησης και μετά με ερώτημα ενημέρωσης.Με το ερώτημα προσάρτησης θα προσαρτηθούν οι καινούργιες εγγραφές και με το ενημέρωσης θα ενημερωθούν.

Φιλικά/Αλέξανδρος

sakis 10-03-13 23:52

1 Συνημμένο(α)
Ευχαριστώ πολύ για τις απαντήσεις.
Τελικά το πετυχα.
Ανεβαζω ενα αρχείο για να μου πειτε την γνώμη σας.
Περιγραφω πως δουλευει:
1) τρεχω το ερωτημα ¨"ελεγχος_διαφορών_τιμων_τι μοκ_με_εξαρτηματα" για να δω που υπαρχουν διαφορες στις τιμες (ευχαριστω τον Νικο ειναι απο το δικο του αρχειο)
2) τρεχω το ερωτημα "ενημερωση_τιμων_απο_τιμοκα τ_σε_εξαρτηματα" για να ενημερωθουν οι τιμες.
3) τρεχω παλι το ερωτημα ¨"ελεγχος_διαφορών_τιμων_τι μοκ_με_εξαρτηματα" για να δω αν αλλαξαν οι τιμες.
4) τρεχω το ερωτημα "προσαρτηση_απο_τιμοκ_σε_εξ ρτηματα" για να βαλω στον πινακα "εξαρτηματα" τις εγγραφες του "τιμοκαταλογος"
5) τρεχω το ερωτημα "Εύρεση διπλοτύπων του Εξαρτηματα" για να βρω τις διπλες εγγραφες.
6) τρεχω το ερωτημα "διαγραφη_διπλοτυπων_του_εξ αρτηματα" για να σβυσω τις διπλες εγγραφες.

Ισως να γινεται πολυ πιο απλα σε κωδικα. Αν καποιος γνωριζει εναν πιο απλο τροπο νομιζω πως θα βοηθουσε αρκετους χρηστες του forum.

alex 11-03-13 00:35

Σάκη καλησπέρα
Δεν σε προλαβα αλλά με την μέθοδο Εdit θα μπορούσες και προγραμματιστικά το ένα μέρος να κάνεις.Αφού πρώτα θα άλλαζες την ονομασία της KΩΔΙΚΟΣ να είναι η ίδια και στους δύο πίνακες κατόπιν σε μία φόρμα σε κουμπί εντολής τον παρακάτω κώδικα
Κώδικας:

Private Sub Εντολή1_Click()
Dim strDocName As String
 
Dim db As Database, tbl1 As DAO.Recordset, tbl2 As DAO.Recordset
    Set db = CurrentDb()
  'ΕΝΗΜΕΡΩΣΗ ΑΡΧΕΙΟΥ Εξαρτήματα με τον ΚΩΔΙΚΟ
 Set tbl1 = db.OpenRecordset("Εξαρτήματα")
    Set tbl2 = db.OpenRecordset("ΤΙΜΟΚΑΤΑΛΟΓΟΣ1")
    Do Until tbl1.EOF
        tbl2.MoveFirst
            Do Until tbl2.EOF
            If tbl1![ΚΩΔΙΚΟΣ] = tbl2![ΚΩΔΙΚΟΣ] Then
              tbl2.Edit
              tbl2![ΤΙΜΗ_ΤΙΜΟΚΑΤΑΛΟΓΟΥ] = tbl1![ΤΙΜΗ_ΤΙΜΟΚΑΤΑΛΟΓΟΥ]
              tbl2.UPDATE
              tbl1.Edit
             
              tbl1.UPDATE
            End If
            tbl2.MoveNext
    Loop
        tbl1.MoveNext
      Loop
    tbl1.Close
    tbl2.Close
       
End Sub

Θέλει και ένα Reference Microsoft DAO 3,6 Object Library

Δεν το είδα το δικό σου τώρα θα το δω

Φιλικά/Αλέξανδρος

sakis 11-03-13 22:32

Ευχαριστώ πολύ για τις απαντήσεις.


Η ώρα είναι 09:44.

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


Search Engine Optimization by vBSEO 3.3.2