I lang tid har samarbejdsbranchen fokuseret på at forbedre enhedsfunktioner – bedre kameraer, klarere lyd og smartere software. Men den virkelige forvandling handler ikke om funktioner.
Hej qp !!! Hvis jeg har forstået det korrekt har du tal fra en tabel, der skal summeres. Summen skal herefter anvendes videre i forløbet. Mangler du så ikke at erklære variablen Formel (der så vidt jeg kan se indeholder summen af tallene) således: Dim Formel as integer
Jeg har min formel i me.formel (ex. =(A+B) ) Værdien af formelen skal indsættes i me.Antal. Jeg har styr på A og B. Mit problem er at den ikke regner formlen ud med indsætter =(A+B), når jeg kigger på min VBA kode ser der således ud "=(A+B)" og ikke =(A+B)
Så vidt jeg forstår - har du i et tekstfelt i tabellen - et udtryk, der repræsentere en formel. Som det er nævnt i tidligere indlæg er dette en TEKST og IKKE et formeludtryk.
Jeg har på basis af en tilfældig tabel, der indeholder et par tal-felter - dannet en formular. Indsat en knap - der får en hændelsesegenskab v/klik - således at beregningen udføres:
Koden er således:
Option Compare Database Option Explicit Dim sum, db, tabx Private Sub Kommandoknap12_Click() Dim a, b, p, x As Field, y As Field Set db = CurrentDb Set tabx = db.openrecordset("booking") 'åbn den underliggende tabel (Eksempel)
p = InStr(Me.formel, "+") If p > 0 Then a = Mid(Me.formel, 1, p - 1) 'henter og adskiller formel-teksten b = Mid(Me.formel, p + 1)
sum = tabx.Fields(a) + tabx.Fields(b) 'anvender feltnavnene på tabellen End If
Me.Tekst13 = sum End Sub
Det skal dog anføres - at jeg i koden IKKE har søgt frem til den aktuelle post - men dette kan naturligvis gøres.
I hvilket regi, har du VBA-koden liggende - i en formular eller ?
Hvorfor har du formlen liggende som et felt - skal felterne kunne ændres - eller hvad - hvis jeg ellers har forstået situationen rigtigt.
ER du sikker på, at alle de involverede felter er sat til at være tal - anførselstegn omkring formler tyder på, at Access anser feltet for at indeholde tal og ikke tekst
Jeg køre denne function, det er en del af den ... If MyRe.RecordCount > 0 Then KolCount = 1
Do While Not MyRe.EOF MyRe.Edit If IsNull(MyRe!Formel) Then GoTo Next1 testny = " & MyRe!FORMEL & " ' DET ER HER DET GÅR GALT VÆRDIEN AF MyRe!FORMEL kommer i "" så er det ikke et tal og jeg får fejlen "Type mismatch" MyRe!Test = testny Next1: MyRe.Update KolCount = KolCount + 1 SendKeys "{f9}"
Du indsætter bare en linie med f = Replace(f, ",", ".") inden du evaluerer
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.