Eczane Takip Programı C#

Eczane Takip Programı C#

Bu ve benzeri takip programlar veya bu programa artı özellikler ekletmek istiyorsanız gorselprogram@gmail.com adresine mail atın.

FORM1 İçerisine Yazılacak Kodlar…

[code language=”CSharp”]
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.OleDb;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace seyda_ozdemir
{
public partial class Form1 : Form
{
public Form2 frm2;
public Form3 frm3;
public Form4 frm4;
public Form5 frm5;
public Form6 frm6;

public Form1()
{
InitializeComponent();

frm2 = new Form2();
frm3 = new Form3();
frm4 = new Form4();
frm5 = new Form5();
frm6 = new Form6();
frm2.frm1 = this;
frm3.frm1 = this;
frm4.frm1 = this;
frm5.frm1 = this;
frm6.frm1 = this;

}

public OleDbConnection bag = new OleDbConnection("Provider=Microsoft.Jet.OleDb.4.0;Data Source=seyda.mdb");
public OleDbCommand kmt = new OleDbCommand();
public OleDbDataAdapter adtr = new OleDbDataAdapter();
public DataSet dtst = new DataSet();

public void güvence()
{
bag.Open();
kmt.Connection = bag;
kmt.CommandText = "Select * from güvence";
OleDbDataReader oku;
oku = kmt.ExecuteReader();
while (oku.Read())
{
frm4.comboBox1.Items.Add(oku[0].ToString());
}

bag.Close();
oku.Dispose();
frm4.comboBox1.Sorted = true;

}

public void kullan()
{
bag.Open();
kmt.Connection = bag;
kmt.CommandText = "Select * from kullanim1";
OleDbDataReader oku;
oku = kmt.ExecuteReader();
while (oku.Read())
{
frm4.comboBox2.Items.Add(oku[0].ToString());
}

bag.Close();
oku.Dispose();
frm4.comboBox2.Sorted = true;

}

public void kullan2()
{
bag.Open();
kmt.Connection = bag;
kmt.CommandText = "Select * from kullanim2";
OleDbDataReader oku;
oku = kmt.ExecuteReader();
while (oku.Read())
{
frm4.comboBox3.Items.Add(oku[0].ToString());
}

bag.Close();
oku.Dispose();
frm4.comboBox3.Sorted = true;

}

public void sgrta()
{
bag.Open();
kmt.Connection = bag;
kmt.CommandText = "Select * from sigorta";
OleDbDataReader oku;
oku = kmt.ExecuteReader();
while (oku.Read())
{
frm3.comboBox1.Items.Add(oku[0].ToString());
}

bag.Close();
oku.Dispose();
frm3.comboBox1.Sorted = true;

}

public void ilacliste()
{
bag.Open();
OleDbDataAdapter adtr = new OleDbDataAdapter("select * From ilac", bag);
adtr.Fill(dtst, "ilac");
frm2.dataGridView1.DataMember = "ilac";
frm2.dataGridView1.DataSource = dtst;
adtr.Dispose();
bag.Close();
}

public void hasta()
{
bag.Open();
OleDbDataAdapter adtr = new OleDbDataAdapter("select * From hasta", bag);
adtr.Fill(dtst, "hasta");
frm6.dataGridView1.DataMember = "hasta";
frm6.dataGridView1.DataSource = dtst;
adtr.Dispose();
bag.Close();
}

private void button1_Click(object sender, EventArgs e)
{
frm2.ShowDialog();

}

private void button2_Click(object sender, EventArgs e)
{
frm3.ShowDialog();

}

private void button4_Click(object sender, EventArgs e)
{
frm4.ShowDialog();

}

private void button5_Click(object sender, EventArgs e)
{
frm6.ShowDialog();

}

private void button3_Click(object sender, EventArgs e)
{
MessageBox.Show("İYİ GÜNLER");
Close();

}
}
}

[/code]

FORM2 İçerisine Yazılacak Kodlar…

[code language=”CSharp”]
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace seyda_ozdemir
{
public partial class Form2 : Form
{
public Form1 frm1;
public Form5 frm5;

public Form2()
{
InitializeComponent();
}

private void Form2_Load(object sender, EventArgs e)
{
frm1.ilacliste();
dataGridView1.Columns[0].HeaderText = "Barkod No";
dataGridView1.Columns[1].HeaderText = "İlacın Adı";
dataGridView1.Columns[2].HeaderText = "Üretici Firma";
dataGridView1.Columns[3].HeaderText = "Kutu Sayısı";
dataGridView1.Columns[4].HeaderText = "Fiyatı";
dataGridView1.Columns[5].HeaderText = "kullanım Amacı";
dataGridView1.Columns[6].HeaderText = "Yan Etkileri";
dataGridView1.Columns[7].HeaderText = "İlacı Teslim Alan Personel";

}

private void button1_Click(object sender, EventArgs e)
{

frm1.frm5.ShowDialog();
}

private void button4_Click(object sender, EventArgs e)
{

frm1.bag.Open();
frm1.kmt.Connection = frm1.bag;
frm1.kmt.CommandText = "DELETE from ilac WHERE barkod_no = ‘" + textBox1.Text + "’";

frm1.kmt.ExecuteNonQuery();
frm1.kmt.Dispose();
frm1.bag.Close();
frm1.dtst.Clear();
frm1.ilacliste();

}

}

}

[/code]

Bu ve benzeri takip programlar veya bu programa artı özellikler ekletmek istiyorsanız gorselprogram@gmail.com adresine mail atın.

FORM3 İçerisine Yazılacak Kodlar…

[code language=”CSharp”]
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace seyda_ozdemir
{
public partial class Form3 : Form
{
public Form1 frm1;
public Form3()
{
InitializeComponent();
}

private void Form3_Load(object sender, EventArgs e)
{
frm1.sgrta();

}

private void button1_Click(object sender, EventArgs e)
{
frm1.bag.Open();
frm1.kmt.Connection = frm1.bag;
frm1.kmt.CommandText = "INSERT INTO pers(yaka_kart,adi_soyadi,tc_kimlik,d_tarihi,adresi,telefonu,email,ise_giris,sigortasi) VALUES (‘" + textBox1.Text + "’ ,’" + textBox2.Text + "’ ,’" + textBox3.Text + "’ ,’" + textBox4.Text + "’ ,’" + textBox5.Text + "’ ,’" + textBox6.Text + "’ ,’" + textBox7.Text + "’ ,’" + dateTimePicker1.Text + "’ ,’" + comboBox1.Text + "’ )";
frm1.kmt.ExecuteNonQuery();
frm1.bag.Close();
frm1.kmt.Dispose();
}

private void button2_Click(object sender, EventArgs e)
{
textBox1.Text = "";
textBox2.Text = "";
textBox3.Text = "";
textBox4.Text = "";
textBox5.Text = "";
textBox6.Text = "";
textBox7.Text = "";
comboBox1.Text = "";

}

private void button3_Click(object sender, EventArgs e)
{

this.Hide();
}
}
}

[/code]

FORM4 İçerisine Yazılacak Kodlar…

[code language=”CSharp”]
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace seyda_ozdemir
{
public partial class Form4 : Form
{
public Form1 frm1;
public Form4()
{
InitializeComponent();
}

private void Form4_Load(object sender, EventArgs e)
{
frm1.güvence ();
frm1.kullan ();
frm1.kullan2();

}

private void button1_Click(object sender, EventArgs e)
{
frm1.bag.Open();
frm1.kmt.Connection = frm1.bag;
frm1.kmt.CommandText = "INSERT INTO hasta(tc_kimlik,adi_soyadi,sosyal_güvencesi,adresi,telefonu,ilac_kullanimi,kullanim_sekli) VALUES (‘" + textBox1.Text + "’ ,’" + textBox2.Text + "’ ,’" + comboBox1.Text+ "’ ,’" + textBox3.Text + "’ ,’" + textBox4.Text + "’ ,’" + comboBox2.Text + "’ ,’" + comboBox3.Text + "’)";
frm1.kmt.ExecuteNonQuery();
frm1.bag.Close();
MessageBox.Show(" kayıt işleminiz tamamlanmıştır GEÇMİŞ OLSUN ! ");
frm1.kmt.Dispose();
}

private void button2_Click(object sender, EventArgs e)
{
textBox1.Text = "";
textBox2.Text = "";
textBox3.Text = "";
textBox4.Text = "";
comboBox1.Text = "";
comboBox2.Text = "";
comboBox3.Text = "";

}

private void button3_Click(object sender, EventArgs e)
{
this.Hide();
}
}
}

[/code]

Bu ve benzeri takip programlar veya bu programa artı özellikler ekletmek istiyorsanız gorselprogram@gmail.com adresine mail atın.

FORM5 İçerisine Yazılacak Kodlar…

[code language=”CSharp”]
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace seyda_ozdemir
{
public partial class Form5 : Form
{
public Form1 frm1;

public Form5()
{
InitializeComponent();
}

private void Form5_Load(object sender, EventArgs e)
{

}

private void button1_Click(object sender, EventArgs e)
{

}

private void button1_Click_1(object sender, EventArgs e)
{
frm1.bag.Open();
frm1.kmt.Connection = frm1.bag;
frm1.kmt.CommandText = "INSERT INTO ilac(barkod_no,ilacin_adı,uretici_firma,kutu_sayisi,fiyati,kullanim_amaci,yan_etkileri,ilac_teslim_alan) VALUES (‘" + textBox1.Text + "’ ,’" + textBox2.Text + "’ ,’" + textBox3.Text + "’ ,’" + textBox4.Text + "’ ,’" + textBox5.Text + "’ ,’" + textBox6.Text + "’ ,’" + textBox7.Text + "’ ,’" + textBox8.Text + "’ )";
frm1.kmt.ExecuteNonQuery();
frm1.kmt.Dispose();
frm1.bag.Close();
MessageBox.Show("İlaç kayıt işlemi tamamlandı ! ");
frm1.dtst.Clear();
frm1.ilacliste();

}

private void button3_Click(object sender, EventArgs e)
{

this.Hide();

}

private void button2_Click(object sender, EventArgs e)
{
Close();

}

private void button4_Click(object sender, EventArgs e)
{
textBox1.Text = "";
textBox2.Text = "";
textBox3.Text = "";
textBox4.Text = "";
textBox5.Text = "";
textBox6.Text = "";
textBox7.Text = "";
textBox8.Text = "";
}
}
}

[/code]

FORM6 İçerisine Yazılacak Kodlar…

[code language=”CSharp”]
public partial class Form6 : Form
{
public Form1 frm1;

public Form6()
{
InitializeComponent();
}

private void Form6_Load(object sender, EventArgs e)
{
frm1.hasta();
dataGridView1.Columns[0].HeaderText = "Tc Kimlik";
dataGridView1.Columns[1].HeaderText = "Hastanın Adı Soyadı";
dataGridView1.Columns[2].HeaderText = "Sosyal Güvencesi";
dataGridView1.Columns[3].HeaderText = "Adresi";
dataGridView1.Columns[4].HeaderText = "Telefonu";
dataGridView1.Columns[5].HeaderText = "İalç Kullanımı";
dataGridView1.Columns[6].HeaderText = "Kullanım Şekli";

}

private void button4_Click(object sender, EventArgs e)
{
frm1.bag.Open();
frm1.kmt.Connection = frm1.bag;
frm1.kmt.CommandText = "DELETE from hasta WHERE tc_kimlik = ‘" + textBox1.Text + "’";

frm1.kmt.ExecuteNonQuery();
frm1.kmt.Dispose();
frm1.bag.Close();
frm1.dtst.Clear();
frm1.hasta();

}

private void button1_Click(object sender, EventArgs e)
{
frm1.frm4.ShowDialog();

}

private void button2_Click(object sender, EventArgs e)
{

this.Hide();
}
}
[/code]

Bu ve benzeri takip programlar veya bu programa artı özellikler ekletmek istiyorsanız gorselprogram@gmail.com adresine mail atın.

Projeyi İNDİR

Yorumlar 67

  • bu program calşyo mu??

  • evet çalışıyor.

  • ya bişey daha sorcam ben yazılımı yeni öğreniyom.veri tabanı felan görmedim.burda access kullanmişsınız.bag mi access burda?

  • Detaylı access bilgisine gerek yok.Tabloda alan oluşturmayı bilmen yeterli.Buda çok basit zaten.Ama şu var birazda sql bilmen gerekir.Çünkü burada veritabanından bilgi çekme,ekleme,silme vb. işlemler sql diliyle yapılıyor.

  • access tablolarını olusturduktan sonra OleDbCommand v.b sql komutlarıyla mı cagıracaz?
    sql dili baska yapmamız gereken seyler var mı?

  • OleDbConnection,Dataset,OleDbDataAdaptor vb. oluşturma işlemi yukarıda görüldüğü gibi C#.net kodlarıyla yapılıyor. Ekleme (insert into ile başlayan satır) , silme (delete From ile başlayan satır) vb. işlemleri sql+C#.net ile yapılıyor.

  • cok tesekür ederim.kusura bakmayn durmadan sorusoruyom ama öğrenmem gerekiyo:((

  • Elimizden geldiği zaman her zaman.Sormadan öğrenilmez.Kolay gelsin.

  • sql komutları için tablo olusturmamız gerekiyo mu peki access gib??

  • Tabiki oluşturman gerekir.Bu projenin içindeki bin–debug klasöründe var. İnceleyebilirsin.

  • peki sql için ne kurmamız gerekiyo???cok oluyorum ama:(((

  • sql veritabanı oluşturabileceğin bir arayüz kurmalsın. İnternetten araştır.Çünkü bir çok arayüz var.Mesela sql server 2005 kullanabilirsin.

  • bu programda siz hangi sql kullandınız ??

  • sql derken tabloları oluşturmak için demiştim.Tabloyu bizim gibi access te oluşturursan farklı harhangi bir şey kurmana gerek yok. Bizim yaptığımız c#.net içinde kullanabildiğimiz sql komutları. Burda hangi sql konutu ne işe yarıyor, onu bilmeniz gerekir.

  • ya bu konuyu anlamam gerekiyo yoksa bi senem uzayacak.kusura bakmayın durmadan rahatsız ediyom ama:(( sizin gibi access tablosu olustrdum.oraya anladıgım kadaryla sql komutlarıyla ekleme silme kaydetme yapacagm galiba.

  • Access dosyası bin-debug klasöründe olacak.
    daha sonra bağlantı için connection ,komut için oledbcommand, regüle için adaptör,sanal veritabanı için dataset her tarafta kullanalım diye global tanımladık. Kodlar aşağıda.
    1-şeyda.mdb yerine kendi veritabanının ismini yaz.
    2-pers yerine kendi tablo ismini yaz.
    3-yaka_kart,adi_soyadiitc_kimlik vb. alan isimleri yerine kendi alan isimlerini yaz.

    public OleDbConnection bag = new OleDbConnection(“Provider=Microsoft.Jet.OleDb.4.0;Data Source=seyda.mdb”);
    public OleDbCommand kmt = new OleDbCommand();
    public OleDbDataAdapter adtr = new OleDbDataAdapter();
    public DataSet dtst = new DataSet();
    Mesela kayıt işlemi için bir buton oluşturdum.Ve çift tıklayarak click olayına şu kodları yazdım.
    private void button1_Click(object sender, EventArgs e)
    {
    bag.Open();
    kmt.Connection = frm1.bag;
    kmt.CommandText = “INSERT INTO pers(yaka_kart,adi_soyadi,tc_kimlik,d_tarihi,adresi,telefonu,email,ise_giris,sigortasi) VALUES (‘” + textBox1.Text + “‘ ,'” + textBox2.Text + “‘ ,'” + textBox3.Text + “‘ ,'” + textBox4.Text + “‘ ,'” + textBox5.Text + “‘ ,'” + textBox6.Text + “‘ ,'” + textBox7.Text + “‘ ,'” + dateTimePicker1.Text + “‘ ,'” + comboBox1.Text + “‘ )”;
    kmt.ExecuteNonQuery();
    bag.Close();
    }

    silme ,güncelleme olaylarınıda yukarıdaki veya sitedeki örneklere bakarak uyarla.

  • cok ama cok tesekur ederim:))) allah sizden razı olsun.

  • Rica ederim.Her zaman burdayız.

  • access tablosuna baglanmak için o kodları yazmaktan baska bişey yapmam gerekiyomu??bulunamadı die hata veriyorda.

  • ‘Microsoft.Jet.OleDb.4.0’ sağlayıcısı yerel makine kayıtlı değil. böyle bir hata veriyor.

  • bilgisayarında office 2003 yüklü olmalı.veritabanınıda 2003 de hazırla.

  • Destek için sitedeki reklamları tıklayabilirsiniz .

  • visual studio 2008 de yapıyom access 2003 le baglantıda sorun olur mu???

  • visual studio 2005,2008,2010 farketmez.Sadece veritabanını Access 2003 de hazırlamalısın.

  • ya yine ben.durmadan soruyom ama kusura bakmayn.hala ” ‘Microsoft.Jet.OleDb.4.0′ sağlayıcısı yerel makine kayıtlı değil. ” böyle bir hata veriyor .sizin programı indirdim ondada aynı hatayı veriyo.sebebi ne peki.?

  • Birincisi makinanızda sağlayıcı kurulu olmayabilir.Aşağıdaki linkten gerekli sağlayıcı kurabilirsin.
    http://support.microsoft.com/default.aspx?scid=kb;en-us;239114
    İkincisi kullanmış olduğun işletim sistemi 64 bit olabilir.Bunun çözümü için :
    Projeniz açık iken sağ tarafta projenizin ismi üzerinde sağ tıkla.Properties seç. Ekrana gelen menüden Build tıkla.Ekranda Platform Target’ın yanındaki açılır menüden x86 seçtikten sonra onaylıyoruz.

  • yaptm cok tesekur ederim:))

  • Rica ederim.

  • yine ben geldim.ben üsteki programı yaptım.ama bunlara düzenleme ve arama butonu ekleyecem.kafamda bi fikir olusmadı.bunları nasıl yapabilirim???

  • hoş geldin . aşağıdaki örnekte arama var.bakabilirsin.
    http://www.gorselprogramlama.com/veteriner-takip-programi-c-netcnet

  • ya yine soru sorcam kusura bakmayın.ben kaydetmeyi yapıyom datagriede gözüküyo ama programı kapattıp actıktan sonra ilk haline geliyo accese kaydetme yapmıyor.neden acaba???

  • kaydet butonuna yazmış olduğun komutlarda hata olabilir.İnsert into satırına tekrar bak istersen.

  • Merhaba, Ben sizin eczane programını kendime göre uyarlayıp çalıştırmak isteğidimde,
    eklenmiş olan formlar arası textbox vb gibi şeyleri görmüyor bana bu konuda yardımcı olmanız mümkün mü?
    Error 3 ‘STDY_V01.Form3.comboBox2’ is inaccessible due to its protection level K:\Debug\STDY_V01\STDY_V01\Form1.cs 65 22 STDY_V01

    Saygılarımla,
    teşekkürler

  • form3 deki combobox ile ilgili bir sorun var.Ne tür bir değişiklik yaptın bilmiyorum.programı görmeden bir şey diyemem.Bakmak lazım.

  • size projeyi göndersem kontrol etmek gibi imkanınız olabilirmi en azından hatamı nerde yaptığımı görebilirim sanırım.

    ilginiz için teşekkürler

  • size dosyayı göndermenin bir yolu var mı ?

  • merhaba
    c#.nete yeni başladım ve programınızı inceledim.şurayı anlamadım:
    frm2.frm1 = this;
    frm3.frm1 = this;
    frm4.frm1 = this;
    frm5.frm1 = this;
    frm6.frm1 = this; bu kod bloğuyla tam olarak ne yapılmak istenmiş?

  • form2,form3,form4,form2,form5,form6’nın oluşmasını ve tanımlanmasını sağlıyor.Eğer bunu yapmazsan bir formdan diğerlerine (mesela form1’den form5’e gibi) işlem yapamazsın.mesela değişken aktaramazsın.

  • ama bildiğim burada
    public Form2 frm2;
    public Form3 frm3;
    public Form4 frm4;
    public Form5 frm5;
    public Form6 frm6;
    tanımlanıyor ve burada da
    frm2 = new Form2();
    frm3 = new Form3();
    frm4 = new Form4();
    frm5 = new Form5();
    frm6 = new Form6();
    oluşturuluyor.ama
    frm2.frm1 = this;
    frm3.frm1 = this;
    frm4.frm1 = this;
    frm5.frm1 = this;
    frm6.frm1 = this; kod bloğuna kendimce bir açıklama getiremiyorum.yani this ataması yapılınca , ki form1 deyken form2.frm1 denmiş , bu tam olarak ne demek oluyor?

  • frm2,frm3,frm4,frm5,frm6’nın frm1 üretilirken b oluşturulup tanıtılıyor.Kısaca tanımlama diyebilirsin.

  • tamam teşekkür ederim..

  • merhaba ben projeyı ındrdım ama gorsel sekılde vb acamıyorum vb 2007 kullanıyorum.sadece debugdan ıcerıgındekı kodları goruyorum formları acaıyorum gorselde neden acaba yardım edersenız sevınırım

  • vb 2007 yok.2005-2008-2010 şeklinde devam ediyor.Bizim hazırladıklarımızda 2008 de hazırlanmıştır.

  • Merhaba Admin,
    Senden il ilçe konusunda yardım rica ediyorum. VB.NET / ACCES Kullanıyorum ama daha yeniyim. Şimdi örnek olarak 3 tablo yazacağım aşağıya.

    Musteri tablosu ( MusteriNo,ilceid,ilceadi )
    iller tablosu ( ilid,iladi)
    ilceler tablosu ( ilceid,ilid,ilceadi )

    Ben comboil den ili seçince o ile ait ilçeler comboilçe ye gelmesini istiyorum.
    Sanırım kayıt yaparken de ilceid yi Musteri tablo’suna kaydetmek gerekecek çok uğraştım ama bir türlü yapamadım. Sizden ricam burada anlatırmısınız nasıl yapabilirim?

    Not: bu 3 tablo üzerinde ilişki oluşturmam gerekir mi bilmiyorum?
    Syg.

  • Musteri tablosunu yanlış yazmışım düzeltiyorum .
    Musteri ( MusteriNo,ilceid,MusteriAdi )
    Syg.

  • burda neden böyle tablolar kullandın bilmiyorum ama bana biraz mantıksız geldi.ilçe ve ili aynı tabloda kullanabilirsin.daha sonra müşteri tablosu oluşturup burdan ili veya ilçeyi çağırabilirsin.Bu durumda bir çok ilişki kullanmalısın.Çünkü bir müşteri birden fazla alışveriş yapabililir.Hadi yukarıdaki gibi oluştur.il ile ilçe arasında bire bir,bunlardan müşteri ile bir çok ilişki oluşturmak gerekir.Birinci veri tabanındaki bilgileri combolara atacaksın.Daha sonra birinci combo tıkladıktan sonra onla ilgili ilçeyi diğer comboda gösterecksin..Bununla ilgili bir örnek link veriyorum.Buradada form4’de ürün adı ve ürün fiyatı isimli iki combo var.Seçilen ürün adına göre ürün fiyatı geliyor.İncele istersen.
    http://www.gorselprogramlama.com/su-ve-tup-takip-programi-cnet

  • @admin
    çalışıyor demişsiniz ama ben çalıştıramadım debug yapıyorum ama sürekli hata veriyoo özellikle application adını degiştirdim fakat hataa veriyoo.seyda özedemir yapılmış kendi adımı yapmaya çalşıyorum programı çalıştırırken hata veriyoo bide showdialog seçenegidi toolbox da bulamadık forma ekleyemiyom=(( yardım edin lütfennnn

  • sanırım comboboxların item ine bişeyler yazılması gerekiyo anlamadım hiçbişeyy offfffffff acill yardım edin lütfennn

  • admin bana acil ulaşabilirmisin msn adresim.. çok önemli

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir