Çok küçük bir sorun yaşıyorum, ama yine de sorun ve beni deli ediyor!Yükleyici ile Kullanıcı Formu Yükleme Seçilen Öğenin Bilgileri (Daha hızlı nasıl yapılır)
Ben hast metin kutularının ve bir liste (Ön Uç ve Arka End olarak Access gibi Excel kullanarak, VBA) bir UserForm var. Ne yapar
kullanıcı liste üzerinde yapar seçimine dayalı bir Access veritabanından bilgilerle textboxes doldurmaktır. Kullanıcı, "001" kodu ile giriş seçerse
Yani, söz konusu kaydı fecthes ve UserForm doldurur, Access DB gider. Aşağıda kodudur:Private Sub LtaInversiones_Click()
Dim rcon As Recordset
Dim sql As String
sql = "SELECT * FROM INVERSIONES WHERE CODIGO = "_
& LtaInversiones.List(LtaInversiones.ListIndex, 0)
Set rcon = BD.OpenRecordset(sql)
With rcon
CmbCodigo.Text = !Codigo
CmbTipo.Text = !TIPO
TxtTitulo.Text = !TITULO
TxtMonto.Text = !Monto
DTFCompra.Value = !FECHACOMPRA
DTFVencimiento.Value = !FECHAVENCIMIENTO
CmbPeriodicidad.Text = !periodicidad
TxtTCupon.Text = !TASACUPON
TxtPrecio.Text = !Precio
TxtRendimiento.Text = !rendimiento
TxtGPRedencion.Text = !GANANCIAPERDIDAREDENCION
TxtIAcum.Text = !INTERESESACUMULADOS
CmbEmisor.Text = !eMISOR
CmbOperador.Text = !OPERADOR
TxtNotas.Text = !NOTAS
If !FECHAREDENCION <> "" Then
DTFRedencion.Value = !FECHAREDENCION
ChkCInversion.Value = True
Else
ChkCInversion.Value = False
End If
.Close
End With
Set rcon = Nothing
CmdEliminar.Visible = True
CmdGuardar.Caption = "Modificar"
CmbCodigo.Enabled = True
şey, çalışma, ama biraz yavaşlatır. Olası nedenleri test ettim ve kesinlikle sorgunun, DB'ye gitmeden önce liste dizininin ne olduğuna bakması gerektiğidir. Bunu yapmanın daha iyi bir yolu varsa:
yüzden daha deneyimli programcılar (/ ticaret tarafından Im bir avukat) size sormak istiyorum.
Bana gelen tek şey, tüm kayıtları başlatma sırasında yükleyebilir ve bu şekilde bir şekilde bu verilere erişebilir, çünkü bu, DB'ye yapılan ziyareti engelleyeceğinden, performansın iyileştirilip yükseltilmeyeceğinden emin olamayacağından emin olabilirsiniz. önemli olan
Teşekkür
Denedim, ve hiçbir şey beni cehalet lol'in dışında bırakmıyordu. Ancak, bu hızda bir gelişme kaydetmedi. Bir karşılaştırma olarak, ben bir rasgele sayı kodlanmış ve bu algılanamaz olması için yeterince hızlı (şu anda olduğu gibi, benim kodumda şeyler değiştirmek için yaklaşık 1,5 ila 2 saniye sürer) – rammpeth