Tampilkan postingan dengan label Visual Basic. Tampilkan semua postingan
Tampilkan postingan dengan label Visual Basic. Tampilkan semua postingan

Senin, 18 April 2011

Merubah Kolom pada Grid dalam Visual Basic 6

Kemarin saya kesulitan merubah kolom pada Grid dalam program VB6 yang saya buat. Ketika cari-cari, saya dapat menemukan, namun dalam bahasa Thai, jadi kalau diterjemahkan bahasanya agak nyaco, tapi biarlah, bahasa komputer kan universal, biar pakai bahasa yang belepotan juga masih bisa paham asal syntax (source code) nya benar

Penggunaan dasar MS FlexGrid pertama membangun Satu Untuk Banyak

Mulai proses bekerja.

Proyek -> Referensi ...


Proyek - Komponen> ...


Desain Time.
modDataBase.bas hidup modul (datang lagi) ... 55.555 +.


Option Explicit.

Global ConnDB Sebagai ADODB.Connection Baru.
Global RS Sebagai ADODB.Recordset Baru.
Global DS Sebagai ADODB.Recordset Baru.
Global Pernyataan As String.
Global SQLStmt As String.
'.
'Apakah menambahkan atau mengedit data.
Global blnNewData Sebagai Boolean.
'Update untuk bentuk transisi.
Global FormUpdate Sebagai Boolean.

'Hubungkan ke file database MS Access.
Public Sub OpenDataBase ().
Pada Err_Handler GoTo Error.
DB_File As String Dim.
DB_File = App.Path.
Jika Hak $ (DB_File, 1) <> "\\" Kalau DB_File = DB_File & "\\".
DB_File = DB_File & "ProductDB.MDB".
'Buka koneksi.
Set ConnDB = ADODB.Connection Baru.
ConnDB.ConnectionString = _.
"Provider = Microsoft.Jet.OLEDB.4.0;" & _.
"Data Source =" & DB_File & ";" & _.
"Bertahan Info Security = False".
ConnDB.Open.
Exit Sub.

Err_Handler:.
MsgBox "Error:" & Err.Number & "" & Err.Description.
Akhir.
End Sub.

Public Sub CloseDataBase ().
Pastikan bahwa ada link - Sambungkan data atau tidak.
Jika adStateOpen = ConnDB.State Kemudian.
ConnDB.Close.
Set ConnDB = Tidak ada.
End If.
End Sub.



Query - hubungan koneksi Produk tabel (tblProduct) unit dari tabel (tblUnit) ... saya bekerja benar-benar offline.

Kemudian, pilih Lihat Query SQL Pernyataan dan cut paste ke dalam Visual Basic 6 setelah itu

SELECT tblProduct.ProductPK, tblProduct.ProductCode, tblProduct.Description, tblUnit.UnitName, tblProduct.PriceUnit
DARI tblProduct INNER JOIN ON tblUnit tblUnit.UnitPK tblProduct.UnitFK =.


- Anda mengatakan semua sepanjang bahwa offline besar pertama (0) harus dibawa ke tersembunyi Primer dari Pengguna.
- Primer Kode kunci tidak diperlukan. (ProductCode) dengan offline.

Kode untuk menemukan kode produk tblProduct tabel ... Aku hanya menunjukkan offline bagian.


'=================================================. =====.
'Set properti dari FlexGrid MS dalam bentuk Run Time.
'=================================================. =====.
Sub SetupGrid ().
Dengan fgData.
FixedRows = 1..
FixedCols = 0..
'The 7 digit.
Cols = 7..
'Baris pertama (untuk Kolom Header).
Rows = 1..
ColWidth (0) = 0..
ColWidth (1) =. Lebar \\ 6 -. 100.
ColWidth (2). =. Lebar \\ 6 + 250.
ColWidth (3) =. Lebar \\ 6 -. 200.
ColWidth (4) Lebar =. \\ 6 -. 100.
ColWidth (5) =. Lebar \\ 6 -. 200.
ColWidth (6). =. Lebar \\ 6.

TextMatrix (0, 0) = "PK"..
TextMatrix (0, 1). = "Kode."
TextMatrix (0, 2) = "Nama"..
TextMatrix. (0, 3) = "menghitung unit."
TextMatrix. (0, 4) = "harga".
TextMatrix. (0, 5) = "dari" entri utama 'dalam hal ini
TextMatrix. (0, 6) = "jumlah".
End Dengan.

End Sub.

'=================================================. =====.
'Insiden Cari Kode dengan menekan Enter.
'=================================================. =====.
Private Sub txtSearch_KeyPress (KeyAscii As Integer).
Jika vbKeyReturn = KeyAscii Kemudian.
Call CheckDataRow.
End If.
End Sub.

'=================================================. =====.
Periksa nilai 'dalam MS FlexGrid pertama untuk menampilkan daftar baru.
'=================================================. =====.
Private Sub CheckDataRow ().
CurrentRow As Integer Dim.

'Pastikan itu kosong atau tidak. Jika keluar dari subprogram (Pengguna tidak informasi tidak tombol apapun.)
Jika Trim (txtSearch.Text) = "" Atau Len (Trim (txtSearch.Text)) = 0 Then.
txtSearch.SetFocus.
Exit Sub.
End If.

Menemukan data pada Tabel Kode Produk (tblProduct).
'Beberapa orang tidak bisa memahami bagian itu. Aku kembali untuk membaca artikel di VB6 dengan Access.
"Sejak offline saya pertama kali. Karena tidak datang dari buku-buku. Tapi dari pengalaman saya, murni.
Set RS = New Recordset.
Pernyataan = "SELECT tblProduct.ProductPK, tblProduct.ProductCode," & _.
"TblProduct.Description, tblUnit.UnitName, tblProduct.PriceUnit" & _.
"DARI tblProduct INNER JOIN ON tblUnit tblProduct.UnitFK = tblUnit.UnitPK" & _.
"WHERE ProductCode =" & "'" & Trim $ (txtSearch.Text) & "'".

'Tunggu sampai jelas nilai.
txtSearch.Text = "".

RS.CursorLocation = adUseClient.
'Data Search membutuhkan read-only maju. Akan memungkinkan untuk akses data yang lebih cepat ... jangan lupa.
RS.Open Statement, ConnDB, adOpenForwardOnly, adLockReadOnly, adCmdText
'Data dari sub-program itu sama sekali.
Jika RS.RecordCount = 0 Then.
RS.Close: Set RS = Tidak ada.
Exit Sub.
End If.


'Mulai pencarian dalam kotak tabel.
Untuk CurrentRow = 1 Untuk fgData.Rows - 1.
Cari kode produk dalam satu utama.
Jika fgData.TextMatrix (CurrentRow, 1) = RS ("ProductCode") Kemudian.

'Jika sebuah produk dimasukkan ke dalamnya beberapa produk langsung naik di baris saat ini.
fgData.TextMatrix (CurrentRow, 5) = Val (fgData.TextMatrix (CurrentRow, 5)) + 1.

"Dikalikan harga. Jumlah produk menjadi baru
fgData.TextMatrix (CurrentRow, 6) = Format (Val (fgData.TextMatrix (CurrentRow, 4)) * _.
Val (fgData.TextMatrix (CurrentRow, 5)), "0.00").

RS.Close: Set RS = Tidak ada.

'Subprogram untuk menghitung jumlah total.
Call CalTotalAmount.

'Akhir UNTUK loop dan keluar sub untuk secara offline.
Exit Sub.
End If.
Berikutnya.

'=================================================.
'Membawa deskripsi produk ke dalam tabel grid, cukup yakin.
'=================================================.
'Meningkatkan jumlah baris dalam MS FlexGrid untuk 1 baris
fgData.Rows = fgData.Rows + 1.

'The baris saat ini, turun 1 (untuk menghindari Header Kolom).
CurrentRow = fgData.Rows - 1.

'Sebuah baris baru yang ditambahkan. Dibaca ke dalam recordset.
'Normal digit pertama (dalam 0) untuk membawa keluar tersembunyi Kunci utama untuk offline ... saya tidak pernah lupa.
fgData.TextMatrix (CurrentRow, 0) = RS ("ProductPK").
'Kode Lihat.
fgData.TextMatrix (CurrentRow, 1) = "" & RS ("ProductCode").
'Tampilkan Nama Produk.
fgData.TextMatrix (CurrentRow, 2) = "" & RS ("Keterangan").
'Tampilkan produk.
fgData.TextMatrix (CurrentRow, 3) = "" & RS ("UnitName").
Tampilkan harga.
fgData.TextMatrix (CurrentRow, 4) = Format (RS ("PriceUnit"), "0.00").
'Masukkan jumlah produk masing-masing.
fgData.TextMatrix (CurrentRow, 5) = 1.
'Harga dihitung nomor.
fgData.TextMatrix (CurrentRow, 6) = Format (fgData.TextMatrix (CurrentRow, 4) * _.
fgData.TextMatrix (CurrentRow, 5), "0.00").

RS.Close: Set RS = Tidak ada.

'Subprogram untuk menghitung jumlah total.
Call CalTotalAmount.

End Sub.

'=============================================.
'Hitung harga total dari semua
'=============================================.
Sub CalTotalAmount ().

Jika tidak, maka daftar keluar semua subprogrammes.
Jika fgData.Rows = 1 Kemudian Keluar Sub.

Dim i As Integer.
TotalAmount Sebagai Double Dim.

'Hitung jumlah baris ke jaringan yang ada meja sampai terakhir.
' แล้วรวมค่าในหลักที่ 6 ไว้ในตัวแปรเวียนแทียน TotalAmount ... 55555+
Untuk i = 1 Untuk fgData.Rows - 1.
TotalAmount = TotalAmount + Val (fgData.TextMatrix (i, 6)).
Berikutnya.

lblTotalAmount.Caption = Format (TotalAmount, "#,## 0.00 ").

End Sub.

Mari kita kembali ke daerah melihat offline semua...Hal ini. Masih prinsip. Cara berpikir seperti aslinya. Tapi hal utama yang ditambahkan sebagai gantinya. (Seperti yang disebutkan sebelumnya pra) adalah untuk menciptakan sebuah Recordset untuk menemukan kode produk, benar-benar. Dalam tabel data. Dalam rangka untuk membandingkan nilai-nilai (saya cek = offline).Karena dalam kasus ini, kita tidak akan menggunakan SEJENISNYA (waktu saya akan mengatakan lagi ... sehingga adik offline) ... aku tahu lalu apa. Apakah itu tidak cukup dingin, kita perlu pin grid cerdas, dapat skala ke meja. Masukkan data ke dalam garis utama yang kita butuhkan, akan lebih baik... Apakah diambil dari artikel yang saya tulis untuk kemudian offline ... Itu Dampak Dampak heheheh.

Kode grid ya ampun perut anak ajaib persegi dibuat sederhana. Dapat memasukkan data mungkin.
Baca panduan untuk desain dan kreativitas untuk grid tabel untuk memasukkan data ... di sini


'=============================================.
'Acara (Event) Fokus pada mana di Sel.
'=============================================.
Sub fgData_EnterCell ().
Pilih fgData.Col Kasus 'untuk memilih Kolom.
Kasus 0, 1, 2, 3, 4, 6: "Kami tidak memasukkan data dalam besar tertentu.
txtData.Visible perlu = False 'memerintahkan penutupan txtData visi.


Kasus 5: 'OK, Anda benar Cell Fokus pada core 5, akan memulai proses kerja.
txtData.Visible = True 'Buka txtData terlihat.
txtData.Text nilai asli = fgData.Text 'di Cell akan diteruskan ke txtData untuk melanjutkan pengeditan.

"Langkah ini adalah promosi txtData untuk pergi alih posisi atas Cell (prinsip), seperti yang kita inginkan.
'The bergerak dengan lokasi fgData.Move kiri, lokasi, lebar dari sel, tinggi sel.
txtData.Move fgData.CellLeft + 60, fgData.Top + fgData.CellTop, fgData.CellWidth, fgData.CellHeight.

Ketika bergerak alih posisi Cell txtData kita ingin pergi ke txtData Fokus untuk bisa mengedit data dalam TextBox.
txtData.SetFocus.
End Pilih.

End Sub.

Bila nilai pada perubahan TextBox di Cell TextBox mengambil alih, ia harus berubah dengannya.
Private Sub txtData_Change ().
SRow As Integer Dim.
'Cari lokasi baris.
sRow = fgData.Row.

' เมื่อ txtData เกิดการเปลี่ยนแปลง ก็จะส่งค่าให้กับ Cell ที่เราต้องการด้วย
'Tapi seperti yang sekarang kita masih tidak melihat benar sekarang karena txtData di atas ke Sel - Sam Ma Aku pentingnya ini.
'Nilai di TextBox tidak dapat null atau 0 ... jika itu adalah untuk meletakkan murah hati.
Jika Trim (txtData.Text) = "" Atau Len (Trim (txtData.Text)) = 0 Atau txtData.Text = "0" Kalau begitu txtData.Text = "1".

fgData.TextMatrix (sRow, 5) txtData.Text =.
'Hitung harga dan kuantitas.
fgData.TextMatrix (sRow, 6) = Format (fgData.TextMatrix (sRow, 4) * fgData.TextMatrix (sRow, 5), "0.00").

'Subprogram untuk menghitung jumlah total.
Call CalTotalAmount.

End Sub.

Private Sub txtData_GotFocus ().
'Subprogram untuk Light Tinggi di TextBox tersebut.
Call HLText (txtData).
End Sub.

'Perangkap tekan tombol pada TextBox.
Private Sub txtData_KeyDown (kode kunci As Integer, Shift As Integer).
Pilih Kasus kode kunci.
Kasus vbKeyDown.
SendKeys "{DOWN}".
Call txtData_KeyPress (vbKeyReturn).
Kasus vbKeyUp.
SendKeys "{UP}".
Call txtData_KeyPress (vbKeyReturn).
Kasus vbKeyEscape.
Call txtData_KeyPress (vbKeyReturn).
End Pilih.
End Sub.

Private Sub txtData_KeyPress (KeyAscii As Integer).
Jika vbKeyReturn = KeyAscii Kemudian.
txtData.Visible = False.
KeyAscii = 0.
Else.
Review nomor kunci saja.
KeyAscii = CheckDigitOnly (KeyAscii).
End If.

End Sub.

'=================================================. =========.
"Mereka yang fungsional, kita perlu sering digunakan. Harus disimpan dalam Modul lebih baik offline.
'=================================================. =========.
'Periksa untuk input numerik saja.
Fungsi CheckDigitOnly (Index As Integer) As Integer.
Select Case Index.
Kasus 48 Untuk 57 '0 - 9.
Kasus 8 'Back Space.
Kasus 13 'Enter.
Case Else.
Index = 0.
End Pilih.
CheckDigitOnly = Indeks.
End Function.

'Subprogram ke Tinggi Cahaya dalam hubungannya dengan TextBox ... GotFocus.
Public Sub HLText (ByRef sText).
On Error Resume Next.
Dengan sText.
SelStart = 0..
SelLength =. Len (sText.Text).
End Dengan.
End Sub.

sumber : citeclub.org Baca Selengkapnya...

Artikel Terkait



Kamis, 20 Januari 2011

VBGold ActiveResize Control for VB6


VBGold adalah kontrol ActiveResize yang membuat aplikasi Visual Basic Anda sepenuhnya menempatkan resolusi program sesuai dengan kemauan tanpa perlu menulis kode apapun. Desain aplikasi setiap resolusi layar dan program akan terlihat sama persis sama pada setiap resolusi layar. Hal ini membuat aplikasi Anda terlihat profesional dan compatible pada semua sistem, yang mengakibatkan peningkatan penjualan perangkat lunak Anda.


VBGold ActiveResize kontrol secara otomatis mengubah ukuran dan reposition semua kontrol (dan keterangan / font teks) pada bentuk Visual Basic ketika bentuk yang diubah ukurannya baik oleh pengguna atau melalui kode, kontrol secara otomatis mendeteksi peristiwa mengubah ukuran bentuk induknya dan melakukan suatu ukuran tepat proporsional / reposisi terhadap semua bentuk kontrol tanpa anda harus menulis satu baris kode! Hanya drag dan drop kontrol pada form dan Anda selesai! ActiveResize menangani hampir semua jenis kontrol. Hal ini juga menangani kontrol yang kompleks seperti kontrol Tabbed Dialog SSTab, semua jenis Microsoft DB Grids dan Data Grids, serta baik FlexGrid Microsoft (MSFlexGrid) dan Hierarchical FlexGrid (MSHFlexGrid). Versi 3.0 juga mendukung semua jenis kontrol Sheridan & Grids (SSDBGrid, SSOleDBGrid, SSDBCombo, dll).

Ini juga mendukung kontrol MS Toolbar dan kontrol MS Kalender. Selain itu, secara otomatis mengubah ukuran gambar latar belakang form dengan ukuran sebenarnya form. ActiveResize memberi Anda fleksibilitas yang besar dan kontrol atas ukuran / proses reposisi. Anda secara individual dapat mengecualikan setiap kontrol pada form dari yang diubah ukurannya dan / atau posisinya. ActiveResize benar-benar dioptimalkan untuk kecepatan pemrosesan maksimal, sehingga menghasilkan ukuran ultra-cepat sempurna / proses reposisi yang benar-benar tidak terlihat oleh pengguna. ActiveResize bekerja dengan semua versi 32-bit Visual Basic (5.0 dan 6.0) dan VB for Applications (VBA). ActiveResize memiliki begitu banyak fitur yang besar.


Untuk mendownload KLIK DISINI

Bila linknya tidak berhasil silakan copy paste LINK dibawah ini :

http://www.download32.com/activeresize-control-lite-d8161.html

Selamat mencoba !!!

Baca Selengkapnya...

Artikel Terkait