SQL Veritabanını oluşturan kodlar,
USE [Fatura]\r\nGO\r\n/****** Object: Table [dbo].[Tur] Script Date: 11/17/2013 19:10:07 ******/\r\nSET ANSI_NULLS ON\r\nGO\r\nSET QUOTED_IDENTIFIER ON\r\nGO\r\nCREATE TABLE [dbo].[Tur](\r\n\t[Id] [int] IDENTITY(1,1) NOT NULL,\r\n\t[Ad] [nvarchar](50) NOT NULL,\r\n CONSTRAINT [PK_FaturaTur] PRIMARY KEY CLUSTERED \r\n(\r\n\t[Id] ASC\r\n)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]\r\n) ON [PRIMARY]\r\nGO\r\n/****** Object: Table [dbo].[Faturalar] Script Date: 11/17/2013 19:10:07 ******/\r\nSET ANSI_NULLS ON\r\nGO\r\nSET QUOTED_IDENTIFIER ON\r\nGO\r\nCREATE TABLE [dbo].[Faturalar](\r\n\t[Id] [int] IDENTITY(1,1) NOT NULL,\r\n\t[TurId] [int] NOT NULL,\r\n\t[AboneNo] [nvarchar](50) NOT NULL,\r\n\t[AdSoyad] [nvarchar](50) NOT NULL,\r\n\t[KayitTarihi] [date] NOT NULL,\r\n\t[SonOdemeTarihi] [date] NOT NULL,\r\n CONSTRAINT [PK_Faturalar] PRIMARY KEY CLUSTERED \r\n(\r\n\t[Id] ASC\r\n)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]\r\n) ON [PRIMARY]\r\nGO\r\n
Windows Forms C# uygulaması Raporlama ekranı görünümü
Rapor kod görünümü (C# Kodu)
using System;\r\nusing System.Data;\r\nusing System.Windows.Forms;\r\nusing System.Data.SqlClient;\r\n\r\nnamespace WindowsFormsApplication1\r\n{\r\n public partial class Form1 : Form\r\n {\r\n public Form1()\r\n {\r\n InitializeComponent();\r\n }\r\n\r\n string ConString = \"Server=.\\\\SqlExpress;Database=fatura; Integrated security=SSPI\";\r\n private void btnGoruntule_Click(object sender, EventArgs e)\r\n {\r\n SqlConnection con = new SqlConnection(ConString);\r\n SqlDataAdapter adp = new SqlDataAdapter(\"select * from Faturalar where SonOdemeTarihi > @prmTarih\", ConString);\r\n adp.SelectCommand.Parameters.AddWithValue(\"@prmTarih\", dtpTarih.Value);\r\n DataSet ds = new DataSet();\r\n adp.Fill(ds);\r\n dataGridView1.DataSource = ds.Tables[0];\r\n\r\n\r\n }\r\n }\r\n}\r\n
Aşağıdaki SQL sorgusu aslında tüm istediğinizi yerine getirecektir.
select * from Faturalar where SonOdemeTarihi > @prmTarih
","url":"https://uzmanim.net/soru/fatura-takip-programi/1458#a1461","author":{"@type":"Person","name":"alattin"},"comment":[],"commentCount":0,"dateCreated":"2013-11-17T19:17:19.327+02:00","dateModified":"2013-11-17T19:17:19.327+02:00","text":"
Yanlış anlamadıysam aslında yapmak istediğiniz, seçili tarihten sonraki döneme düşen faturları listelemek istiyorsunuz.
Yani raporlama ekranında tarih seçilecek, örneğin, 01.01.2014, siz 2014 aylarına denk gelen tüm faturları listelemek istiyorsunuz.
Aşağıdaki gibi bir veritabanı tasarımı işinizi görecektir. Siz projenize göre geliştirebilirsiniz.
SQL Veritabanını oluşturan kodlar,
USE [Fatura]\r\nGO\r\n/****** Object: Table [dbo].[Tur] Script Date: 11/17/2013 19:10:07 ******/\r\nSET ANSI_NULLS ON\r\nGO\r\nSET QUOTED_IDENTIFIER ON\r\nGO\r\nCREATE TABLE [dbo].[Tur](\r\n\t[Id] [int] IDENTITY(1,1) NOT NULL,\r\n\t[Ad] [nvarchar](50) NOT NULL,\r\n CONSTRAINT [PK_FaturaTur] PRIMARY KEY CLUSTERED \r\n(\r\n\t[Id] ASC\r\n)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]\r\n) ON [PRIMARY]\r\nGO\r\n/****** Object: Table [dbo].[Faturalar] Script Date: 11/17/2013 19:10:07 ******/\r\nSET ANSI_NULLS ON\r\nGO\r\nSET QUOTED_IDENTIFIER ON\r\nGO\r\nCREATE TABLE [dbo].[Faturalar](\r\n\t[Id] [int] IDENTITY(1,1) NOT NULL,\r\n\t[TurId] [int] NOT NULL,\r\n\t[AboneNo] [nvarchar](50) NOT NULL,\r\n\t[AdSoyad] [nvarchar](50) NOT NULL,\r\n\t[KayitTarihi] [date] NOT NULL,\r\n\t[SonOdemeTarihi] [date] NOT NULL,\r\n CONSTRAINT [PK_Faturalar] PRIMARY KEY CLUSTERED \r\n(\r\n\t[Id] ASC\r\n)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]\r\n) ON [PRIMARY]\r\nGO\r\n
Windows Forms C# uygulaması Raporlama ekranı görünümü
Rapor kod görünümü (C# Kodu)
using System;\r\nusing System.Data;\r\nusing System.Windows.Forms;\r\nusing System.Data.SqlClient;\r\n\r\nnamespace WindowsFormsApplication1\r\n{\r\n public partial class Form1 : Form\r\n {\r\n public Form1()\r\n {\r\n InitializeComponent();\r\n }\r\n\r\n string ConString = \"Server=.\\\\SqlExpress;Database=fatura; Integrated security=SSPI\";\r\n private void btnGoruntule_Click(object sender, EventArgs e)\r\n {\r\n SqlConnection con = new SqlConnection(ConString);\r\n SqlDataAdapter adp = new SqlDataAdapter(\"select * from Faturalar where SonOdemeTarihi > @prmTarih\", ConString);\r\n adp.SelectCommand.Parameters.AddWithValue(\"@prmTarih\", dtpTarih.Value);\r\n DataSet ds = new DataSet();\r\n adp.Fill(ds);\r\n dataGridView1.DataSource = ds.Tables[0];\r\n\r\n\r\n }\r\n }\r\n}\r\n
Aşağıdaki SQL sorgusu aslında tüm istediğinizi yerine getirecektir.
select * from Faturalar where SonOdemeTarihi > @prmTarih
","upvoteCount":0},"upvoteCount":0}}
Merhabalar Bir Fatura Takip Programı Yapmaktayım. Takıldığım Yerler Var Onları Size Sormak İçin Rahatsız Ediyorum Sizi
Şimdi Program Üç Ana Öğeden Oluşuyor.
.Fatura Ekle(Tip Ve Kuruma Göre(Dinamik) Fatura Seçiyorum Abone Numarası,AdSoyad,Kayıt Tarihi Giriyorum Ve Faturayı KIaydediyorum.)
.Fatura Listele(Buı Kısımda Fatura Ekleden Gelen Bilgiler Doğrultusunda Faturayı Listeliyorum.Yalnız Listeleme Yaparken Şöyle Bir Kriterimiz Var Benim De Takıldığım Nokta Burası.Her Ay Ödenecek İşte Elektrik,Su,Telefon Faturaları Vardır Ya Ha Onlar Ben Hangi Ay Ve Yılı Seçersem Seçeyim Gelecek.Yani Ocak 2014'te Ocak'ta 5 Ayrı Fatura Girdim.Bu Faturalar Şubat,Mart,Nisan.. Hepsinde Listelenecek. Bir De Diyelim Şubat Ayı İçin Yeni Bir Doğalgaz Faturası Ekledim Bu Da Ocak'ta Gözükmeyecek Şubat,Mart,Nisan..Da Gözükecek. Ve Öde Dediğim Zaman Açılacan Form'a Fatura Numarasını Ve Tutarı Birde Ne Zaman Ödediğimi Girecem. Öde Kısnmından Glen Bu 3 Alan Ve Fatura Listeldeki Alanlardaki Verileri Gidip Fatura Hareket Tablosuna Yazacak. ) Ne Yaparsam Yapayım Bu İşi Yapamadım.
.Bu Aşamadada Faturaları Fatura Hareket Tablosunda Görüntüleyecek. Bi Kıstas Var Ay Ve Yıla Göre Mesela Ocak 2014 Te Ödenmen leri Ve Ödenmeyeleri Gösterecek Şubat,Mart,Nisan.. Diye.
Kısaca : Listelenecek olan faturaların kendinden sonraki aylarda da listelenmesi ancak önceki aylarda gözükmemesi
alattin 11 yıl önce
çözüm sağladı mı?
Toplam 1 cevap
Yanlış anlamadıysam aslında yapmak istediğiniz, seçili tarihten sonraki döneme düşen faturları listelemek istiyorsunuz.
Yani raporlama ekranında tarih seçilecek, örneğin, 01.01.2014, siz 2014 aylarına denk gelen tüm faturları listelemek istiyorsunuz.
Aşağıdaki gibi bir veritabanı tasarımı işinizi görecektir. Siz projenize göre geliştirebilirsiniz.
SQL Veritabanını oluşturan kodlar,
USE [Fatura] GO /****** Object: Table [dbo].[Tur] Script Date: 11/17/2013 19:10:07 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[Tur]( [Id] [int] IDENTITY(1,1) NOT NULL, [Ad] [nvarchar](50) NOT NULL, CONSTRAINT [PK_FaturaTur] PRIMARY KEY CLUSTERED ( [Id] 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 /****** Object: Table [dbo].[Faturalar] Script Date: 11/17/2013 19:10:07 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[Faturalar]( [Id] [int] IDENTITY(1,1) NOT NULL, [TurId] [int] NOT NULL, [AboneNo] [nvarchar](50) NOT NULL, [AdSoyad] [nvarchar](50) NOT NULL, [KayitTarihi] [date] NOT NULL, [SonOdemeTarihi] [date] NOT NULL, CONSTRAINT [PK_Faturalar] PRIMARY KEY CLUSTERED ( [Id] 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
Windows Forms C# uygulaması Raporlama ekranı görünümü
Rapor kod görünümü (C# Kodu)
using System; using System.Data; using System.Windows.Forms; using System.Data.SqlClient; namespace WindowsFormsApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } string ConString = "Server=.\\SqlExpress;Database=fatura; Integrated security=SSPI"; private void btnGoruntule_Click(object sender, EventArgs e) { SqlConnection con = new SqlConnection(ConString); SqlDataAdapter adp = new SqlDataAdapter("select * from Faturalar where SonOdemeTarihi > @prmTarih", ConString); adp.SelectCommand.Parameters.AddWithValue("@prmTarih", dtpTarih.Value); DataSet ds = new DataSet(); adp.Fill(ds); dataGridView1.DataSource = ds.Tables[0]; } } }
Aşağıdaki SQL sorgusu aslında tüm istediğinizi yerine getirecektir.
select * from Faturalar where SonOdemeTarihi > @prmTarih