Arşive Gönderme

Katılım
31 Ağustos 2005
Mesajlar
1,534
Excel Vers. ve Dili
Excel 2003 - Türkçe
Merhaba;

Ekteki çalışmamda, DAVALAR FORMUNDA İKEN, forma koyduğum buton ile, o an hangi davaya ait bilgiler formda ise, bu bilgilerin Davalar Tablosundan silinerek, ARŞİV isimli tabloya aktarılması.

Şimdiden Teşekkürlerimi sunuyorum.
 
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Sayın kucuksengun,

Arşive gönderme işleminide neden aynı tablo üstünde yapmıyorsunuz? Bir alan daha ekleyin ve arşiv deyin evet ise -1 olsun hayırsa 0. Formlara da kayıtlar sorgulardan gelsin.

İyi çalışmalar:)
 
Katılım
31 Ağustos 2005
Mesajlar
1,534
Excel Vers. ve Dili
Excel 2003 - Türkçe
Sayın Modalı;

Siz beni access'te ustat zannediyorsunuz galiba. :hihoho:

Arşiv diye alan ekledim. Evet veya Hayır'ı nerede yapacağımı anlayamadım.
Tablo özelliklerine mi,Forma koyacağım butona mı? Biraz daha açıklarsanız çok iyi olur.

Butona tıkladığımızda bilgiler nasıl arşive gidecek merak da ediyorum.

Saygılarımla.:)
 
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Bilmem istediğiniz gibi oldu mu?

Arşive gönder düğümesi basıldığında, davalar tablosuna eklediğim Arşiv alanındaki veri "E" oluyor, böylece sorgulara eklediğim alanla sorgularda görünmesini önlüyorum. Liste ve ana formda görünmüyor kayıt seti.

Ayrıca ARŞİV tablosunada o anki kaydın ID sini kaydediyorum.

İyi çalışmalar:)
 
Katılım
18 Nisan 2007
Mesajlar
2,053
Excel Vers. ve Dili
Access 2019
Sayın kucuksengun;

tbDavalar adlı tablonuza "arşiveekle" adında metin özelliğinde bir alan ekledim ve "davalar" formunuza bu alana bağlı açılan kutu koydum..

Sonra "tbDavalar" tablonuzu kaynak alarak "DAVALAR ARŞİV" adında bir sorgu oluşturdum.

"arşiveekle" alanına "evet" ölçütü koyarak "davalar" formunda arşive ekle kutusundan evet dediğiniz dosyaları bu sorguya atmasını sağladım.

Biraz karmaşık anlatım oldu kusura bakmayın..

Siz arşive bağlı bir form oluşturup bunları listeleyebilirsinizde..


Düzeltme Notu:

Sayın modalı, ben örneği hazırlarken siz cevap yazmışsınız.. Sayın kucuksengun'e yanıt verdiktensonra farkettim. Cevabımı saygısızlık olarak kabul etmeyin lütfen.. Saygılar..
 
Son düzenleme:
Katılım
31 Ağustos 2005
Mesajlar
1,534
Excel Vers. ve Dili
Excel 2003 - Türkçe
Sayın Modalı ve Sayın Taruz;

İki tane access üstadımdan cevap almak beni çok duygulandırdı.

Gerçi ben sizle yüzünden bu accesse bulaştım.

Her ikinize de çok teşekkür ediyorum.

Selam ve saygılarımla.
 
Katılım
31 Ağustos 2005
Mesajlar
1,534
Excel Vers. ve Dili
Excel 2003 - Türkçe
Sayın Üstadlarım;

Bir tabir vardır: "Avukata elini veren kolunu kaptırır." diye. :)

Espiri bir yana;

Sayın Modalı;

1- tbDavalarSorguda o davaya ait bilgilerin tamamının ARŞİV tablosuna aktarılması için kodlarda ne gibi değişiklik gerekir. Çünkü bilgilerin tamamını göndermiyor.
Bir de arşive attığımız davaya ait bilgiler tbdavalarda da kalıyor. Gerçi bir mahzuru yok ama. Veri fazlalılığı olur diye düşünüyorum. Yani tbdavalardan arşive attığımızda, tbdavalarda hiç kalmasa daha iyi gibi geliyor.

Sayın Taruz;

1-Davalar tablosundaki tüm bilgiler, davalarsorguya ve dolayısiyle de dava formuna gelmiyor. Herhalde, arşiveekle alanında hayır yazması gerekiyor.
O zaman biz dava kaydı yaparken, bu alan için hayır yazdırmalıyız.

2-Evete bastığımızda hemen arşive göndermemesi için, bir de evet-hayırlı onay kutusu çıkarsa daha iyi olur gibi.

Saygılarımla.
 
Son düzenleme:
Katılım
18 Nisan 2007
Mesajlar
2,053
Excel Vers. ve Dili
Access 2019
Sayın kucuksengun;

tbdavalar tablosu / arsiveekle alanı / varsayılan değere "hayır" yazın

veya

Dava kaydını yaptığınız forma "arsiveekle" alanını metrin kutusu olarak ekleyin. Veri/Varsayılan değere "Hayır" yazın. Sekme Sırasını da Hayır yapın.. Yada bu alanı gizleyin..

Böylelikle Dava kaydı yaparken "arsiveekle" alanı hayır olmuş olur diğer sorgulamarda gözükür..
 
Katılım
31 Ağustos 2005
Mesajlar
1,534
Excel Vers. ve Dili
Excel 2003 - Türkçe
Sayın Taruz;

Tamam, oldu.

Bir de EVET'e tıkladıktan sonra "DAVA BİLGİLERİ ARŞİVE GÖNDERİLSİN Mİ" Evet-Hayır şeklinde bir onay kutusu koymak istersen, nasıl bir kod yazmalıyız.

Teşekkür ve saygılarımla.
 
Katılım
18 Nisan 2007
Mesajlar
2,053
Excel Vers. ve Dili
Access 2019
Sayın kucuksengun;


Evet dediğinizde bir seçim yapmış oluyorsunuz zaten.. Tekrardan "Evet mi?-Hayır mı?" demek bence anlamsız..

Sizin istediğiniz sayın modalı'nın örneğinde daha mantıklı olur. Düğmeye bastıktan sonra, "Arşive gidecek emin misin?" evet-hayır gibisinden bir mesaj kutusu çıkabilir..

Bunu isterseniz sayın modalı'nın düğme üstündeki kodunu aşağıdaki kod ile değiştirin.. Saygılar...


Kod:
Private Sub Komut179_Click()
Dim sql As String
Dim conn As New ADODB.Connection
Set conn = CurrentProject.Connection
sql = "INSERT INTO ARSİV (Dava_ID)VALUES (" & Me.txtID & ")"
conn.Execute sql
On Error Resume Next
If Me.NewRecord Then
Me.Undo
ElseIf MsgBox("Kayıt Arşivlenmek Üzere. Bundan Emin misiniz?", vbYesNo) = vbYes Then
Me.txtArşiv = "E"
End If
Me.Requery
Me.Liste103.Requery
Set conn = Nothing
End Sub
 
Katılım
31 Ağustos 2005
Mesajlar
1,534
Excel Vers. ve Dili
Excel 2003 - Türkçe
Sayın Taruz;

Onay Kutusunu kullanıcıların yanlışlıkla işlem yapmalarını önlemek için istemiş idim. Anladığım kadarıyla sizin örneğinizde evet'i tıkladığımızda böyle bir onay kutusu çıkamıyor.

Anlaşıldı.Artık kolunuzu bırakmam gerekiyor. :hihoho:

Bir de arşive attığımız davaya ait bilgiler tbdavalarda da kalıyor. Gerçi bir mahzuru yok ama. Veri fazlalılığı olur diye düşünüyorum. Yani tbdavalardan arşive attığımızda, tbdavalarda arşive gönderdiklerimiz hiç kalmasa daha iyi gibi geliyor.

ÇOK TEŞEKKÜRLER.
 

beab05

Özel Üye
Katılım
19 Mart 2007
Mesajlar
1,418
Excel Vers. ve Dili
Office 2013
Merhabalar;

Konu ilgimi çektiği için belki de çözülmüş olsa da ben de kendime göre yaptım ve sanırım sizin istediğiniz gibi oldu.. Formdaki kayda göre arşiv kutucuğunu işaretlerseniz işaretli olanları arşive atar ve diğer tablodan kaldırır ama ben vaktim sınırlı olduğu için biraz özensiz ve detaysız yaptım. Tek önemli nokta komut düğmesinin insert ve SELECT cümlelerine siz diğer alanları da ekleyin zaten göreceksiniz.. Ben 2-3 alan ekledim.. Sorgunuzdaki "arşiv" isimli alanın ölçütünü kaldırın hatta arşiv alanını heryerden kaldırın bence tablolardan da formdan da..
 
Son düzenleme:
Katılım
31 Ağustos 2005
Mesajlar
1,534
Excel Vers. ve Dili
Excel 2003 - Türkçe
Sayın beabO5;

Önce başka dosya indirmişim. Kusura bakmayın.

Evet örneğiniz istediğim gibi.

Teferruatlı inceleyeceğim.

Teşekkürler.
 
Katılım
5 Kasım 2007
Mesajlar
52
Excel Vers. ve Dili
office xp
Sayın kucuksengun;


Evet dediğinizde bir seçim yapmış oluyorsunuz zaten.. Tekrardan "Evet mi?-Hayır mı?" demek bence anlamsız..

Sizin istediğiniz sayın modalı'nın örneğinde daha mantıklı olur. Düğmeye bastıktan sonra, "Arşive gidecek emin misin?" evet-hayır gibisinden bir mesaj kutusu çıkabilir..

Bunu isterseniz sayın modalı'nın düğme üstündeki kodunu aşağıdaki kod ile değiştirin.. Saygılar...


Kod:
Private Sub Komut179_Click()
Dim sql As String
Dim conn As New ADODB.Connection
Set conn = CurrentProject.Connection
sql = "INSERT INTO ARSİV (Dava_ID)VALUES (" & Me.txtID & ")"
conn.Execute sql
On Error Resume Next
If Me.NewRecord Then
Me.Undo
ElseIf MsgBox("Kayıt Arşivlenmek Üzere. Bundan Emin misiniz?", vbYesNo) = vbYes Then
Me.txtArşiv = "E"
End If
Me.Requery
Me.Liste103.Requery
Set conn = Nothing
End Sub

konu önemli oldugu için sorma ihtiyacı hissettim. yukardaki kodu kendi yaptığım programa göre uyarladım. arşive ekleme işlemi tek alanla sınırlı olarak yapılıyor.

bu kodda nasıl bir degişiklik yaparsak güncel kayıttaki tüm alanları arşive aktarırken aynı zamanda datadan silecek. yani arşive eklenecek olan kayıt tüm alanları ile birlikte arşive aktarılırken ana tablodan silinsin.
 

beab05

Özel Üye
Katılım
19 Mart 2007
Mesajlar
1,418
Excel Vers. ve Dili
Office 2013
13. mesaja bakınız. Ordaki örnekte aynı zamanda arşivlenen kayıtlar tablodan taşınmaktadır..
 
Katılım
5 Kasım 2007
Mesajlar
52
Excel Vers. ve Dili
office xp
sayın beab05 13. mesaja baktım kendime göre uyarladım ancak "FROM yan tümcesinde sözdizimi hatası" şeklinde hata mesajı verdi. kodu şu şekilde kendime uyarladım. acaba nerede hata yaptım ?

Private Sub Komut179_Click()
On Error GoTo Err_DoArchive
Dim ws As DAO.Workspace 'Current workspace (for transaction).
Dim db As DAO.Database 'Inside the transaction.
Dim bInTrans As Boolean 'Flag that transaction is active.
Dim strSql As String 'Action query statements.
Dim strMsg As String 'MsgBox message.

'Step 1: Initialize database object inside a transaction.
Set ws = DBEngine(0)
ws.BeginTrans
bInTrans = True
Set db = ws(0)

'Step 2: ( Musterino,karsitaraf,mahkemesi ) buraya istediğiniz alanları yazın
strSql = "INSERT INTO ARSIV ( tckimlik,durumu ) " & _
"SELECT tckimlik,durumu FROM sahis suc bilgileri WHERE (MyYesNoField = True);"
db.Execute strSql, dbFailOnError

'Step 3: Execute the delete.
strSql = "DELETE FROM sahis suc bilgileri WHERE (MyYesNoField = True);"
db.Execute strSql, dbFailOnError

'Step 4: Get user confirmation to commit the change.
strMsg = "Arşivlenecek " & db.RecordsAffected & " kayıt var.."
If MsgBox(strMsg, vbOKCancel + vbQuestion, "Lütfen Onaylayın") = vbOK Then
ws.CommitTrans
bInTrans = False
End If

Exit_DoArchive:
'Step 5: Clean up
On Error Resume Next
Set db = Nothing
If bInTrans Then 'Rollback if the transaction is active.
ws.Rollback
End If
Set ws = Nothing
Me.Requery
'Me.Liste103.Requery
Exit Sub

Err_DoArchive:
MsgBox Err.Description, vbExclamation, "Archiving failed: Error " & Err.Number
Resume Exit_DoArchive

End Sub


ayrıca şunuda belirteyim; kayıtları bir listeye aktarmadığım için liste103 okutmadım.
 
Son düzenleme:

beab05

Özel Üye
Katılım
19 Mart 2007
Mesajlar
1,418
Excel Vers. ve Dili
Office 2013
Merhaba;

Tablo ismini,alan ismini birden fazla kelimeden oluşuyorsa ve aralarında boşluk varsa [tablo ismi] gibi yani köşeli paranteze alınız..
[sahis suc bilgileri] ...
 
Katılım
5 Kasım 2007
Mesajlar
52
Excel Vers. ve Dili
office xp
sayın beab05 teşekkür ederim. dediğiniz değişikliği yapınca sorunsuz çalıştı.
 
Katılım
30 Ocak 2006
Mesajlar
937
Excel Vers. ve Dili
Access 2003
Arkadaşlar benim tam olarak aradığım birşey var. O da şu: .txt uzantılı bir veri yapısından Modalı ve karaayhan'ın önerileriyle oluşturduğum bir form aracılığı ile veri alarak access'e aktardım. Oluşan tablo ile çalışıyorum, tablodaki verilerin bir kısmını düzenledim. O sırada başka verilerle çalışmak istiyorum. Mevcut çalıştığım verileri arşivleyip verdiğim bir isimle istediğim bir klasöre .mdb olarak aktaracağım. Çünkü benim tablomda asıl txt tablosunda olmayan ve olması gerekmeyen, ama çalışma anında bana lazım olan veriler var. Arşive aktardığım bu mdb verilerini daha sonra çağırıp devam etmeliyim. Ama bu arada başka verilerle çalışacağım. Onlar da yapı olarak aynı türden veriler. Programa çağırdığımda yerlerine cuk oturuyorlar. Tabii onları tıpkı txt'den alırken olduğu gibi bir "gözat" yöntemi aracılığı ile çağırmalıyım. Verilerle tüm işim bittiğinde ilk hallerine yani .txt hallerine, seçtiğim bir sorgu üzerinden bazı bölümlerini eleyerek dönüştüreceğim. Bu arada oluşacak dosyanın adı, benim mdb dosyamda aktarılan tablomda bir hücre olarak bulunuyor. Aktarırken onu da verilerimle birlikte kaydettim çünkü birden çok .txt dosyasını birleştirdim. Ama her bir kayıt öz olarak geldiği txt dosyasının adını da saklıyor. Böylece ms-dos tabanlı ana programın yapısına uygun olarak her biri 13.000 kayıtla sınırlı olan bir çok txt dosyası, verileri taşeron firma tarafından düzenlenerek tekrar geri gönderilebilecek. Bu düzenleme işlemini yaparken bizim oluşturduğumuz yapı, mesela A ilçesinin verilerini 8 ayrı txt dosyasından yararlanarak tek mdb dosyası haline getirecek. Ama geri gönderirken de yine 13.000 kayıtlı txt uzantılı, veriler arasında $ sekmeli yapı bozulmayacak. Bütün işlemler tamamlandı kalan tek şey birleştirilmiş verilerin bu şekilde mdb olarak arşivlenmesi ve işi biten dosyanın tekrar txt uzantılı dosyalar olarak parçalanması. Dediğim gibi bu parçalamada verilerin hepsi kullanılmadığından filtre etmek ve dosya adlarını da aktarım sırasında yine kendi içine yazdığımız dosyaadlari isimli hücreden almak gerekiyor. Filtre etmek için herhalde en güzel yöntem sorgu üzerinden yapmak ve bu arada dosyaadi hücresine göre de gruplamak olabilir. Bazı yerleri beni aştı. Ustalardan yardım talep ediyorum. Beab05, Modalı ve Yeni54.. Yardımlarınızı bekliyorum. Bu projede zatem şu ana kadar Modalı ve Yeni54'ün desteklerini gördüm. Sağolsunlar.
 
Üst