webden OGS KGS Sorgulama konusunda projeme uyarlamak üzere hazırlamış olduğum Form1 isimli Ana formda açılır kutuyla seçtiğim plakanın kaçak geçişi varsa alt forma aktarıyorum.
Sorgulama ve aktarma işinde sıkıntı yok ancak Tablo1'e atılan kayıtlarda (34XXX01 şeklinde) Plaka harf gurubu ile rakamlar arasında boşluk bırakmıyor.
webden aktarma esnasında veya bir sorgu marifetiyle Tablo1 deki plakaları Altformumuza kayıt kaynağı olması için istediğimiz formata çevirebilirmiyiz?
İlgilenecek arkadaşa ÖM ile test amaçlı gerçek plaka gönderebilirim.
İş sadece orjinal tablomdaki plakalarla kalsa hepsini değiştireceğim ancak jpeg formatında depoladığım ruhsat, sigorta ve zeyilnamelerin isimleri işin içine girince değiştirmek gibi bir çözümü düşünemiyorum.
Ortalığı kızıştırayım. Web olayının lideri esrefigit'tir.
Soru ile ilgili farklı bir yöntem.
Vba penceresinde boş bir yere aşağıdaki fonksiyonu ekle
Function PlakaBol(veri)
harf1 = Left(veri, 2)
say = Len(veri)
For i = 3 To say
If Not IsNumeric(Mid(veri, i, 1)) Then
sayi1 = sayi1 & Mid(veri, i, 1)
Else
harf2 = harf2 & Mid(veri, i, 1)
End If
Next
PlakaBol = harf1 & " " & sayi1 & " " & harf2
End Function
Komut5'in tıklandığında olayına yazılı kodu aşağıdaki ile değiştir
Private Sub Komut5_Click()
Dim IE As Object
Dim HTML_Body As Object, HTML_Tables As Object, MyTable As Object
Dim HTML_TableRows As Object
Dim RetVal As Variant, X, a As Integer, SATIRSAYISI As Integer
Dim SonPlaka As String
Set IE = Me.WebBrowser1
Set HTML_Body = IE.Document.All
Set HTML_Tables = HTML_Body.tags("Table")
Set MyTable = HTML_Tables(2)
Set HTML_TableRows = MyTable.GetElementsByTagName("td")
For Each MyRow In HTML_TableRows
X = X + 1
Next
SATIRSAYISI = (X - 3) / 9
ReDim sorgu(7, SATIRSAYISI - 1)
X = 0
For X = 0 To SATIRSAYISI - 1
a = 1 + X
sorgu(0, X) = MyTable.Rows(a).Cells(0).innerText
sorgu(1, X) = MyTable.Rows(a).Cells(1).innerText
sorgu(2, X) = MyTable.Rows(a).Cells(2).innerText
sorgu(3, X) = MyTable.Rows(a).Cells(3).innerText
sorgu(4, X) = MyTable.Rows(a).Cells(4).innerText
sorgu(5, X) = MyTable.Rows(a).Cells(5).innerText
sorgu(6, X) = MyTable.Rows(a).Cells(6).innerText
sorgu(7, X) = MyTable.Rows(a).Cells(7).innerText
Next X
Dim rc As DAO.Recordset
Set rc = CurrentDb.OpenRecordset("Tablo1")
GoTo SafeExit:
'ErrHandler:
SafeExit:
Set HTML_Body = Nothing
Set HTML_Tables = Nothing
Set MyTable = Nothing
Set HTML_TableRows = Nothing
Set HTML_TableDivisions = Nothing
Set IE = Nothing
End Sub